ম্যাজেন্টো 2 তে প্যারেন্ট প্রোডাক্ট আইডি কীভাবে পাবেন?


11

কনফিগারযোগ্য পণ্যগুলির জন্য কীভাবে সন্তানের পিতামাতার পণ্য আইডি পাবেন?

আমি চাইল্ড প্রোডাক্ট আইডির উপর ভিত্তি করে ম্যাজেন্টোতে শিশু পণ্যের পিতামাতার পণ্য আইডি পেতে চাই।

উত্তর:


26

আপনার পিএইচটিএমএল ফাইলে মূল পণ্য আইডি পাওয়ার জন্য আপনি সরাসরি কোডটি কল করতে পারেন:

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

দেখুন ফাইলটিতে এটি কাজ করছে।

7
আপনি অবজেক্ট ম্যানেজার ডিরেক্টরি ব্যবহার করা উচিত নয়। -> তৈরি পদ্ধতিটি ব্যবহার করে কারখানার
ইনজেকশন করুন

@ রাকেশ কনফিগারযোগ্য পণ্য আইডি পাওয়ার পরে কীভাবে আমি নির্দিষ্ট কনফিগারযোগ্য পণ্য সম্পর্কে কেবলমাত্র সমস্ত বিবরণ পেতে পারি? আমি কি প্যারেন্ট পণ্য আইডির মাধ্যমে পণ্য মডেল লোড করতে পারি?
সঞ্জয় গোহিল

12

আপনি এটিকে ব্লক ফাইলে, ম্যাজেন্টো নির্দিষ্ট উপায়ে কল করতে পারেন,

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

অভিভাবক শ্রেণি নির্দিষ্ট করা হয়নি! আমার মনে হয় এর Magento\Catalog\Block\Product\AbstractProduct???
ইমরান জহুর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.