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


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();
}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.