1

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

我可以在购物车控制器页面中打印 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。请指导我。

4

1 回答 1

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课程以获取更多详细信息。

于 2013-05-16T18:29:53.630 回答