Настраиваемый продукт - получите идентификатор продукта для детей

9

Как получить идентификаторы дочернего продукта из идентификатора родительского продукта в magento2 для конфигурируемого продукта?

Я хочу получить идентификатор дочернего продукта родительского продукта в magento на основе идентификатора родительского продукта.

Санджай Вададория
источник
Пожалуйста, проверьте мой ответ и дайте мне знать.
Рохан Хапани

Ответы:

4

Попробуйте приведенное ниже решение:

<?php
    $productId = 5; //Configurable product ID
    $_objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $_product = $_objectManager->create('Magento\Catalog\Model\Product')->load($productId);
    $_childProducts = $_product->getTypeInstance()->getUsedProducts($_product);
    foreach ($_childProducts as $simpleProduct){
        echo $simpleProduct->getId();
    }
?>

Предложение: не используйте диспетчер объектов непосредственно в своем коде, так как это не лучшая практика. Вам нужно внедрить класс модели продукта в соответствующий класс, а затем использовать его.

Сукумар Горай
источник
да, я ввел модель и работает нормально. Спасибо @sukumar
Санджай Вададория
Добро пожаловать. Удачного кодирования :)
Сукумар Горай
2

Попробуйте использовать этот код:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$configProduct = $objectManager->create('Magento\Catalog\Model\Product')->load($product_id);

$_children = $configProduct->getTypeInstance()->getUsedProducts($configProduct);

foreach ($_children as $child){
    echo $child->getID();
}
Рохан Хапани
источник