Yapılandırılabilir ürünler için Magento 2'de bir çocuğun ana ürün kimliğini nasıl alabilirim?
Magento'da alt ürün kimliğine dayalı alt ürün ana ürün kimliğini almak istiyorum.
Yapılandırılabilir ürünler için Magento 2'de bir çocuğun ana ürün kimliğini nasıl alabilirim?
Magento'da alt ürün kimliğine dayalı alt ürün ana ürün kimliğini almak istiyorum.
Yanıtlar:
Ana ürün kimliğini phtml dosyanıza almak için kodu doğrudan şu numaradan arayabilirsiniz:
$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];
}
Blok dosyada, Magento'ya özel bir şekilde,
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
???