Ricerca…


Ottieni un prodotto per i genitori e i loro figli.

Qui ti mostrerò come recuperare

  1. Tutti i genitori (prodotti configuarble)
  2. 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