在自定义页面中获取产品的选定自定义选项(Magento)

时间:2012-03-20 11:33:34

标签: magento

我试图在面板中显示购物车中的产品,该面板可在所有页面中访问(在菜单中)。我已经通过使用下面的

完成了它
      $cartHelper = Mage::helper('checkout/cart');
      $items = $cartHelper->getCart()->getItems();

但我正在努力展示为每种产品选择的自定义选项。 我尝试使用

$item->getOptionList()

但它对我不起作用..

请帮我解决一下。

谢谢, 巴兰

2 个答案:

答案 0 :(得分:6)

我找到答案,下面的代码将打印所选的自定义选项

$options = array();
if ($optionIds = $item->getOptionByCode('option_ids')) {
$options = array();
foreach (explode(',', $optionIds->getValue()) as $optionId) {
if ($option = $item->getProduct()->getOptionById($optionId)) {

$quoteItemOption = $item->getOptionByCode('option_' . $option->getId());

$group = $option->groupFactory($option->getType())
->setOption($option)
->setQuoteItemOption($quoteItemOption);

$options[] = array(
'label' => $option->getTitle(),
'value' => $group->getFormattedOptionValue($quoteItemOption->getValue()),
'print_value' => $group->getPrintableOptionValue($quoteItemOption->getValue()),
'option_id' => $option->getId(),
'option_type' => $option->getType(),
'custom_view' => $group->isCustomizedView()
);
}
}
}
if ($addOptions = $item->getOptionByCode('additional_options')) {
$options = array_merge($options, unserialize($addOptions->getValue()));
}

谢谢http://www.e-commercewebdesign.co.uk看到 this link供参考。

答案 1 :(得分:0)

$cart = Mage::getModel('checkout/cart')->getQuote();

foreach ($cart->getAllVisibleItems() as $item) {    
$options = Mage::helper('catalog/product_configuration')->getCustomOptions($item);

}