Как получить сгруппированный идентификатор товара из купленного товара или товара из корзины - PullRequest
2 голосов
/ 21 октября 2011

Я использую сгруппированные продукты для отслеживания рекламных акций.Простые продукты иногда принадлежат нескольким группированным продуктам, поэтому проверка parentProductIds бесполезна.Мне интересно, как отслеживать сгруппированный идентификатор продукта, когда продукт приобретен через сгруппированный (рекламный) SKU.Я вижу, что он хранится в info_buyRequest и super_product_config внутри заказов, но как мне вернуть эту информацию обратно?И есть ли способ вывести его в корзину / цитату?

Ответы [ 3 ]

6 голосов
/ 24 октября 2011

Мне удалось получить его с помощью следующего кода в cart.phtml, в foreach ($ this-> getItems () как $ _item):

$values = unserialize($_item->getOptionByCode('info_buyRequest')->getValue());
$parentId = $values['super_product_config']['product_id'];
0 голосов
/ 11 ноября 2016

На странице корзины сгруппированный товар рассматривается как простой товар.В Magento 2 вы можете получить родительский идентификатор этих простых продуктов из сессии.Это сработало для меня:

<?php 

$catalogSession = $_SESSION['catalog'];             
$parentId = $catalogSession['last_viewed_product_id'];

?>
0 голосов
/ 21 октября 2011

В зависимости от того, где вы хотите получить эту информацию, вы можете получить ее после оформления заказа при сохранении продаж.Затем вы можете использовать события sales_order_save_after и создать метод в классе, чтобы получить элементы сгруппированного продукта.Здесь важен объект класса Mage_Sales_Model_Order_Item, который имеет информацию о продукте и родителях продукта. Вот пример:

public function processSalesOrder($observer)
{
    $order = $observer->getOrder()
    $quoteItems = $order->getItemsCollection(null, true);

    /*@var $item Mage_Sales_Model_Order_Item */
    foreach ($quoteItems as $item) {

        $parent = $item->getParentItem();
        if(!is_null($parent)){
           // do your stuff - you have a product parent which has children product
           // $item is the children
           echo 'The parent product is ' . $parent->getSku();
           echo 'One of the children product is' .$item->getSku();
        }

}
...