我的购物车页面有一个小问题。
在我的购物车中有这些字段。
数量
产品说明。 (如 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'] 从后端获取选项值。所以,我很困惑。
现在,我正在使用产品说明的自定义选项。我需要更新自定义选项值。有可能吗?请帮我解决这个问题。
由于
答案 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();
}