magento2
Productos configurables y sus variantes.
Buscar..
Consigue un producto padre y sus hijos.
Aquí te mostraré cómo buscar
- Todos los padres (productos configuarbles)
- Un producto padre y todos sus hijos.
Consigue un producto padre.
Comenzaremos haciendo una clase simple que obtenga todos nuestros padres (productos configurables)
<?php
namespace Test\Test\Controller\Test;
use Magento\Framework\App\Action\Context;
class Products extends \Magento\Framework\App\Action\Action
{
public function __construct(
\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $_product_res_fac
)
{
$this->_product_res_fac = $_product_res_fac;
}
public function getParentProducts()
{
return $this->_product_res_fac->create()->addAttributeToSelect('*')->addAttributeToFilter('type_id', ['eq' => 'configurable']);
}
}
Como puede ver arriba, nuestra función getParentProducts ahora devolverá todos los productos configurables que tenemos actualmente en nuestro sistema.
Obtener productos para padres e hijos.
Aquí primero vamos a buscar nuestro producto principal y obtendremos todos los productos secundarios que tiene este principal.
<?php
namespace Test\Test\Controller\Test;
use Magento\Framework\App\Action\Context;
class Products extends \Magento\Framework\App\Action\Action
{
public function __construct(
\Magento\Catalog\Model\Product $productModel
)
{
$this->product= $productModel;
}
public function getParentProduct()
{
return $this->product->load("a product entity id goes here")
}
public function getChildProducts()
{
$_children = $this->getParentProduct()->getTypeInstance()->getUsedProducts($this->getParentProduct());
}
}
La función getChildProducts ahora devuelve una colección secundaria para que pueda ejecutarla a través de un bucle foreach y obtener todos los atributos del producto que puedan estar en ella.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow