需要更新购物车页面中的自定义选项值

时间:2012-12-05 11:46:40

标签: magento

我的购物车页面有一个小问题。

在我的购物车中有这些字段。

  • 数量

  • 产品说明。 (如 1产品$ 27

我的问题是,

如果,我更新了购物车项目的数量。例如,我将1个数量更新为3个数量。并且还需要更改产品说明。从 1个产品$ 27 3个产品$ 81

这是我的示例代码:

<?php foreach ($_options as $_option) : ?>

            <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>            

            <?php //if($ii > 2) { ?>

            <dt><?php echo $this->htmlEscape($_option['label']) ?></dt>

            <dd style="padding-left:0px;" <?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated"<?php endif; ?>>

            <?php $license_val = $_formatedOptionValue['value']; ?>

我使用 $ _ formatedOptionValue ['full_view'] 从后端获取选项值。所以,我很困惑。

现在,我正在使用产品说明的自定义选项。我需要更新自定义选项值。有可能吗?请帮我解决这个问题。

由于

2 个答案:

答案 0 :(得分:0)

在翻译字符串中检索数量和小计以及回显这些值是不是很简单,在更新项目后你已经有了数据。

$this->__('%s product %s', $qty, $subtotal)

答案 1 :(得分:0)

如此简单只需覆盖您的结帐控制器,然后编辑updateCheckoutPost函数以获取更新自定义选项值,价格。

Add this code only in updateCheckoutPost function 100% working.

you need cart items id's, item's product id, qty or options array of particular product.

foreach($_POST['item_ids'] as $update_product_id){
                $product = Mage::getModel('catalog/product')->load($_POST['product_ids'][$update_product_id][0]); 
                $cart = Mage::getModel('checkout/cart');
                $cart->init();
                $params = array(
                'product' => $_POST['product_ids'][$update_product_id][0],
                'qty' => $_POST['cart'][$update_product_id]['qty'],
                'options' => $_POST['option'][$update_product_id]);
                $cart->updateItem($update_product_id,$params);
                $cart->save();
           }