Suche…


Holen Sie sich ein Elternprodukt und deren Kinder.

Hier zeige ich Ihnen, wie Sie abholen

  1. Alle übergeordneten Produkte (Konfigurationsprodukte)
  2. Ein übergeordnetes Produkt und alle seine Kinder.

Holen Sie sich ein übergeordnetes Produkt.

Wir beginnen mit einer einfachen Klasse, die alle unsere Eltern (konfigurierbare Produkte) erhält.

<?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']);
        }

    }

Wie Sie oben sehen, gibt unsere getParentProducts-Funktion jetzt alle Konfigurationsprodukte zurück, die wir derzeit in unserem System haben.

Holen Sie sich Eltern- und Kinderprodukte.

Hier holen wir zuerst unser Mutterprodukt und wir bekommen alle Kinderprodukte, die dieses Elternteil hat.

<?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());
        }

    }

Die Funktion getChildProducts gibt jetzt eine untergeordnete Auflistung zurück, sodass Sie sie durch eine foreach-Schleife ausführen können und alle Produktattribute abrufen können, die möglicherweise darin enthalten sind.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow