Làm cách nào để lấy id sản phẩm gốc trong magento 2?


11

Làm cách nào để có id sản phẩm gốc của trẻ em trong Magento 2 cho các sản phẩm có thể định cấu hình?

Tôi muốn lấy id sản phẩm gốc của sản phẩm con trong Magento dựa trên id sản phẩm con.

Câu trả lời:


26

Để nhận id sản phẩm gốc trong tệp phtml của bạn, bạn có thể gọi mã trực tiếp bằng cách:

    $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];
    }

nó hoạt động tốt trong xem tập tin.

7
Bạn không nên sử dụng thư mục quản lý đối tượng. Tiêm một nhà máy bằng phương pháp
CarComp

@Rakesh sau khi nhận id sản phẩm có thể định cấu hình, làm thế nào tôi chỉ có thể nhận được tất cả các chi tiết về sản phẩm có thể định cấu hình cụ thể? Tôi có thể tải mô hình sản phẩm qua id sản phẩm gốc không?
Sanjay Gohil

12

Bạn có thể gọi nó trong tệp khối, cách cụ thể của Magento bằng cách,

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;
}

Lớp phụ huynh không được chỉ định! Tôi nghĩ nó Magento\Catalog\Block\Product\AbstractProduct???
Imran Zahoor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.