如何在Magento购物车页面中选择选项参数

时间:2013-05-16 15:07:51

标签: magento magento-1.7

我在单品中有多种选择。如何在购物车页面中获取所有产品选项参数。请指教。购物车页面已经在default.phtml页面中加载。此页面调用渲染器页面。我正在尝试很多方法,但没有工作。请告知

我可以在Cart控制器页面中打印configureaction()

public function configureAction()
    {
        // Extract item and product to configure
        $id = (int) $this->getRequest()->getParam('id');
        $projectid = (int) $this->getRequest()->getParam('projectid');      
        $quoteItem = null;
        $cart = $this->_getCart();
        if ($id) {
            $quoteItem = $cart->getQuote()->getItemById($id);
        }

        if (!$quoteItem) {
            $this->_getSession()->addError($this->__('Quote item is not found.'));
            $this->_redirect('checkout/cart');
            return;
        }

        try {
            $params = new Varien_Object();
            $params->setCategoryId(false);
            $params->setConfigureMode(true);
            $params->setBuyRequest($quoteItem->getBuyRequest());
print_r($params);

我的参数列表

    [_data:protected] => Array
        (
            [category_id] => 
            [configure_mode] => 1
            [buy_request] => Varien_Object Object
                (
                    [_data:protected] => Array
                        (
                            [id] => 689
                            [product] => 288
                            [related_product] => 
                            [super_attribute] => Array
                                (
                                    [143] => 65
                                    [144] => 71
                                )

                            [options] => Array
                                (
                                    [79] => 164
                                    [80] => 167
                                    [78] => 163
                                    [81] => 169
                                )

                            [attachment_hash] => Array
                                (
                                    [215] => 43f34b521ee06830bf462a4c060df869
                                )

                            [projectid] => 32
                            [qty] => 1
                            [reset_count] => 1
                            [original_qty] => 1
                        )

                    [_hasDataChanges:protected] => 1
                    [_origData:protected] => 
                    [_idFieldName:protected] => 
                    [_isDeleted:protected] => 
                    [_oldFieldsMap:protected] => Array
                        (
                        )

                    [_syncFieldsMap:protected] => Array
                        (
                        )

                )

        )

    [_hasDataChanges:protected] => 1
    [_origData:protected] => 
    [_idFieldName:protected] => 
    [_isDeleted:protected] => 
    [_oldFieldsMap:protected] => Array
        (
        )

    [_syncFieldsMap:protected] => Array
        (
        )

)

我需要在default.phtml页面或renderer.php页面中获取项目ID。请指导我。

1 个答案:

答案 0 :(得分:1)

您可以在引用对象的项目中获取它。例如:

$quote = Mage::getSingleton('checkout/session')->getQuote();
foreach ($quote->getAllVisibleItems() as $item) {
    print_r($item->getOptions());
}

$quote->getAllVisibleItems()将返回包含有关购物车中商品信息的Mage_Sales_Model_Quote_Item个对象列表。

您应该查看Mage_Sales_Model_Quote_Item课程了解更多详情。