Comment obtenir l'ID de produit parent d'un enfant dans Magento 2 pour les produits configurables?
Je souhaite obtenir l'ID de produit parent du produit enfant dans Magento en fonction de l'ID de produit enfant.
Comment obtenir l'ID de produit parent d'un enfant dans Magento 2 pour les produits configurables?
Je souhaite obtenir l'ID de produit parent du produit enfant dans Magento en fonction de l'ID de produit enfant.
Réponses:
Pour obtenir l'ID du produit parent dans votre fichier phtml, vous pouvez appeler le code directement en:
$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];
}
Vous pouvez l'appeler en fichier bloc, de manière spécifique à Magento,
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
???