Как получить идентификатор сгруппированного продукта, из которого в Magento был заказан простой продукт?
Позвольте мне начать с некоторого контекста. Я работаю в Magento Enterprise Edition 1.8.0.0, и я относительно новичок в разработке Magento.
Я видел вопросы, подобные этим, в Stack Overflow, на форумах и блогах, но ответ, как правило, похож на тот, который я придумал сам:
$parentIds = (Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($_item->getProductId());
$parentId = $parentIds[0];
Это правда, что при этом будет получен родительский идентификатор, но не всегда будет получен правильный. "Правильный" родительский идентификатор, в моем случае, принадлежит к сгруппированному продукту, из которого простой продукт был помещен в корзину и в конечном итоге заказан.
Файл, в который я пытаюсь вставить эту логику:
my_template_path/email/order/items/order/default.phtml
Конечной целью является получение миниатюрного изображения нужного сгруппированного продукта в транзакционном электронном письме с подтверждением заказа. Есть идеи?
1 ответ
Информация о родительском продукте хранится в свойстве product_options объекта заказа. Вы можете получить правильный родительский идентификатор для каждого элемента заказа, выполнив этот код:
foreach ($order->getAllItems() as $item) {
$options = $item->getProductOptions();
$parentId = $options['super_product_config']['product_id'];
}