magento2
Prodotti configurabili e loro varianti.
Ricerca…
Ottieni un prodotto per i genitori e i loro figli.
Qui ti mostrerò come recuperare
- Tutti i genitori (prodotti configuarble)
- Un prodotto genitore e tutti i suoi figli.
Ottieni un prodotto per i genitori.
Inizieremo creando una classe semplice che ottiene tutti i nostri genitori (prodotti configurabili)
<?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']);
}
}
Come si vede sopra la nostra funzione getParentProducts restituirà ora tutti i prodotti configuarabili che attualmente abbiamo nel nostro sistema.
Ottieni prodotti per genitori e figli.
Qui per prima cosa prendiamo il nostro prodotto genitore e otterremo tutti i prodotti per bambini di questo genitore.
<?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 funzione getChildProducts ora restituisce una collezione per bambini in modo da poterla eseguire attraverso un ciclo foreach e ottenere tutti gli attributi del prodotto che potrebbero esserci.
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow