วิธีรับรหัสผลิตภัณฑ์หลักของเด็ก ๆ ใน Magento 2 สำหรับผลิตภัณฑ์ที่กำหนดค่าได้
ฉันต้องการรับรหัสผลิตภัณฑ์หลักของผลิตภัณฑ์สำหรับเด็กใน Magento ตามรหัสผลิตภัณฑ์เด็ก
วิธีรับรหัสผลิตภัณฑ์หลักของเด็ก ๆ ใน Magento 2 สำหรับผลิตภัณฑ์ที่กำหนดค่าได้
ฉันต้องการรับรหัสผลิตภัณฑ์หลักของผลิตภัณฑ์สำหรับเด็กใน Magento ตามรหัสผลิตภัณฑ์เด็ก
คำตอบ:
สำหรับการรับรหัสผลิตภัณฑ์หลักในไฟล์ phtml ของคุณคุณสามารถเรียกรหัสโดยตรงโดย
$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];
}
คุณสามารถเรียกมันว่าในไฟล์บล็อกวิธีเฉพาะวีโอไอพีโดย
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
???