Estás leyendo la publicación: Cómo agregar productos configurables de Magento 2 mediante programación al carrito
espacio de nombres [Vendor]\[namespace]\Ayudante;
use Magento\Framework\App\Helper\AbstractHelper;
use Magento\Framework\App\Helper\Context;
use Magento\Checkout\Model\Cart;
use Magento\Catálogo\Modelo\ProductFactory;
clase Datos extiende AbstractHelper
{
$ carro privado;
$productFactory privado;
función pública __construct(Contexto $contexto, Carrito $carrito, ProductFactory $productFactory)
{
$this->productFactory = $productFactory;
$esto->carrito = $carrito;
padre::__construcción($contexto);
}
función pública getAddConfigurableProduct($parentId, $childId)
{
$padre = $this->productFactory->load($parentId);
$child = $this->productFactory->load($childId);
$carrito = $este->carrito;
$parámetros = [];
$parámetros[‘product’] = $padre->getId();
$parámetros[‘qty’] = ‘1’;
$opciones = [];
$productAttributeOptions = $padre->getTypeInstance(true)->getConfigurableAttributesAsArray($padre);
foreach ($productAttributeOptions como $opción) {
$opciones[$option[‘attribute_id’]]= $hijo->getData($opción[‘attribute_code’]);
}
$parámetros[‘super_attribute’] = $opciones;
/*Añadir producto al carrito*/
$carrito->addProduct($padre, $parámetros);
$carrito->guardar();
}
}