Estás leyendo la publicación: Cómo ocultar el precio para clientes que no han iniciado sesión en Magento 2
espacio de nombres Proveedor\Extensión\Precios\Render;
use Magento\Catálogo\Precios\Precio;
use Magento\Framework\Pricing\Render;
use Magento\Framework\Pricing\Render\PriceBox como BasePriceBox;
use Magento\Msrp\Pricing\Price\MsrpPrice;
clase FinalPriceBox extiende \Magento\Catalog\Pricing\Render\FinalPriceBox
{
función pública __construir(
\Magento\Framework\Ver\Elemento\Plantilla\Contexto $contexto,
\Magento\Framework\Precios\VendibleInterfaz $artículovendible,
\Magento\Framework\Precios\Precio\PriceInterface $precio,
\Magento\Framework\Precios\Render\RendererPool $rendererPool,
matriz $datos = [],
\Magento\Catalog\Model\Product\Pricing\Renderer\VendibleResolverInterface $vendibleResolver = nulo,
\Magento\Catalog\Pricing\Price\MinimalPriceCalculatorInterface $minimalPriceCalculator = null
) {
padre::__construct($contexto,
$artículo vendible,
$precio,
$rendererPool,
$datos,
$vendibleResolver,
$calculadora de precio mínimo);
}
función protegida wrapResult($html)
{
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$httpContext = $objectManager->get(‘Magento\Framework\App\Http\Context’);
$isLoggedIn = $httpContext->getValue(\Magento\Customer\Model\Context::CONTEXT_AUTH);
si ($ está conectado) {
return ‘
‘data-role=”priceBox” ‘.
‘data-product-id=”‘ . $this->getSaleableItem()->getId() . ‘”‘ .
‘>’ . $html. ‘
‘;
}demás{
$wording = ‘Inicie sesión para ver el precio’;
devuelve ‘
‘data-role=”priceBox” ‘.
‘data-product-id=”‘ . $this->getSaleableItem()->getId() . ‘”‘ .
‘>’.$redacción.’
‘;
}
}
}