Cómo agregar opciones adicionales en Magento 2

Estás leyendo la publicación: Cómo agregar opciones adicionales en Magento 2

espacio de nombres Proveedor\Extensión\Observador;

use Magento\Framework\Event\Observer como EventObserver;

use Magento\Framework\Event\ObserverInterface;

use Magento\Store\Model\StoreManagerInterface;

use Magento\Framework\View\LayoutInterface;

use Magento\Framework\App\RequestInterface;

use Magento\Framework\Serialize\SerializerInterface;

clase CheckoutCartAddObserver implementa ObserverInterface

{

diseño protegido $;

protegido $storeManager;

$solicitud protegida;

$ serializador privado;

función pública __construir(

StoreManagerInterface $storeManager,

LayoutInterface $diseño,

SolicitudInterfaz $solicitud,

SerializerInterface $serializador

)

{

$este->diseño = $diseño;

$this->storeManager = $storeManager;

$esta->solicitud = $solicitud;

$este->serializador = $serializador;

}

función pública ejecutar (EventObserver $ observador)

{

$elemento = $observador->getQuoteItem();

$post = $this->request->getPost();

$opcionesadicionales = array();

if ($opciónadicional = $elemento->getOptionByCode(‘opciones_adicionales’)) {

$opcionesadicionales = $este->serializador->unserialize($opciónadicional->getValue());

}

$opcionesadicionales[] = [

            ‘label’ => ‘Size’,

            ‘value’ => ‘XL’

        ];

if (contar ($ opciones adicionales) > 0) {

$elemento->addOption(matriz(

‘product_id’ => $elemento->getProductId(),

‘código’ => ‘opciones_adicionales’,

‘valor’ => $este->serializador->serializar($opcionesadicionales)

));

}

}

}

🔥 Recomendado:  Cómo cambiar la billetera en OpenSea