Bagaimana cara mendapatkan id produk induk di magento 2?


11

Bagaimana cara mendapatkan id produk orang tua anak di Magento 2 untuk produk yang dapat dikonfigurasi?

Saya ingin mendapatkan id produk induk dari produk anak di Magento berdasarkan id produk anak.

Jawaban:


26

Untuk mendapatkan id produk induk dalam file phtml Anda, Anda dapat memanggil kode secara langsung dengan:

    $productId = 52; //this is child product id
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $product = $objectManager->create('Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable')->getParentIdsByChild($productId);
     if(isset($product[0])){
         //this is parent product id..
         echo $product[0];
    }

ini berfungsi dengan baik dalam file tampilan.

7
Anda seharusnya tidak menggunakan direktori manajer objek. Suntikkan sebuah pabrik menggunakan metode -> create
— CarComp

@Rakesh setelah mendapatkan id produk yang dapat dikonfigurasi, bagaimana saya bisa mendapatkan semua detail tentang produk yang dapat dikonfigurasi tertentu? Bisakah saya memuat model produk melalui id produk induk?
— Sanjay Gohil

12

Anda dapat menyebutnya dalam file blok, cara khusus Magento dengan,

protected $_catalogProductTypeConfigurable;

public function __construct(
    \Magento\Catalog\Block\Product\Context $context,
    //for getting parent id of simple
    \Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable $catalogProductTypeConfigurable,
    array $data = []
) {
    //for getting parent id of simple
    $this->_catalogProductTypeConfigurable = $catalogProductTypeConfigurable;
    parent::__construct($context, $data);
}

public function getProductData($id) {
    $parentByChild = $this->_catalogProductTypeConfigurable->getParentIdsByChild($id);
    if (isset($parentByChild[0])) {
        //set id as parent product id...
        $id = $parentByChild[0];
    }
    return $id;
}

Kelas induk tidak ditentukan! Saya pikir itu Magento\Catalog\Block\Product\AbstractProduct???
— Imran Zahoor
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.