Выбранные товары для Bundle в корзине

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 skiller
  • Группа: Пользователь
  • Сообщений: 32
  • Регистрация: 04.10.2010

13.08.2011 08:17

Здравствуйте. Подскажите, плз, как получить sku выбранных товаров в bundle продукте в чекауте. Т.е. на странице onepage нужно определить bundle товар и выбрать те товары, которые были отмечены, как составные части. Спасибо.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

13.08.2011 09:48

/**
 * Как программно отличить наборный товар (bundle) от товаров других типов
 */


/** @var Mage_Catalog_Model_Product $product */
$product;


if ('bundle' === $product->getTypeId()) {

    /**
     * Перед нами наборный товар (bundle)
     */


    /**
     * Получаем выбранные покупателем товары набора
     */


    /** @var Mage_Bundle_Model_Product_Type $typeInstance  */
    $typeInstance = $product->getTypeInstance(true);


    /** @var Mage_Bundle_Model_Resource_Selection_Collection|Mage_Bundle_Model_Mysql4_Selection_Collection $selectionCollection  */
    $selectionCollection =
        $typeInstance
            ->getSelectionsCollection (
                $typeInstance->getOptionsIds($product)
                ,
                $product
            )
    ;



    foreach ($selectionCollection as $selection) {

        /** @var Mage_Bundle_Model_Selection $selection */

        Mage
            ::log (
                sprintf (
                    'Выбран товар: %d'
                    ,
                    $selection->getData ('product_id')
                )
            )
        ;
    }

}


Поделиться темой: