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.