Estás leyendo la publicación: Cómo establecer condiciones para restringir la adición de productos en Magento 2
espacio de nombres Proveedor\Extensión\Observador;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\Response\RedirectInterface;
use Magento\Checkout\Model\Cart;
use Magento\Framework\Message\ManagerInterface;
use Magento\Framework\App\RequestInterface;
use Magento\Catálogo\Modelo\Producto;
use Magento\Framework\App\Http\Context como sesión de cliente;
clase Cartadd implementa ObserverInterface{
$carrito protegido;
protegido $messageManager;
$ redirección protegida;
$solicitud protegida;
$producto protegido;
$ sesión de cliente protegida;
función pública __construct(RedirectInterface $redirect, Cart $cart, ManagerInterface $messageManager, RequestInterface $solicitud, Producto $producto, sesión de cliente $sesión){
$esto->redireccionar = $redireccionar;
$esto->carrito = $carrito;
$this->messageManager = $messageManager;
$esta->solicitud = $solicitud;
$este->producto = $producto;
$this->customerSession = $sesión;
}
función pública ejecutar (\Magento\Framework\Event\Observer $observer){
$postValues = $this->request->getPostValue();
$cartItemsCount = $this->cart->getQuote()->getItemsCount();
//su código para restringir agregar al carrito
si (condición) {
$observador->getRequest()->setParam(‘producto’, false);
$this->messageManager->addErrorMessage(__(‘mensaje de error . ‘));
}
}
}