magento2
Konfigurerbara produkter och deras varianter.
Sök…
Skaffa en överordnad produkt och deras barn.
Här visar jag hur du hämtar
- Alla föräldrar (oklarheter)
- En överordnad produkt och alla dess barn.
Skaffa en överordnad produkt.
Vi börjar med att göra en enkel klass som får alla våra föräldrar (konfigurerbara produkter)
<?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']);
}
}
Som ni ser ovan kommer vår getParentProducts-funktion nu att returnera alla konfiguarabla produkter vi för närvarande har i vårt system.
Skaffa föräldrar och barnprodukter.
Här hämtar vi först vår överordnade produkt och vi får alla barnprodukter som denna förälder har.
<?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());
}
}
Funktionen getChildProducts returnerar nu en barnkollektion så att du skulle kunna köra den genom en förhandslinga och få alla produktattribut som kan finnas på den.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow