Cómo ocultar el precio para clientes que no han iniciado sesión en Magento 2

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.’

‘;

}

}

}

🔥 Recomendado:  Marketing de contenidos frente a publicidad nativa: ¿en qué se diferencian?