Comment obtenir l'ID du produit parent dans Magento 2?


11

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:


26

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

son bon fonctionnement dans le fichier de vue.

7
Vous ne devez pas utiliser le répertoire du gestionnaire d'objets. Injecter une usine en utilisant la méthode
CarComp

@Rakesh après avoir obtenu l'ID du produit configurable, comment puis-je obtenir uniquement tous les détails sur un produit configurable particulier? Puis-je charger le modèle de produit via l'ID de produit parent?
Sanjay Gohil

12

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

Classe parent non spécifiée! Je pense que c'est Magento\Catalog\Block\Product\AbstractProduct???
Imran Zahoor
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.