我们正在销售现成的包装(总重18公斤),其中包括几种食品。但是我们希望通过选择我们的产品系列为我们的客户制作一个特殊的东西,他们应该制作他们的包装。
因此,他们应首先制作一个包含所选产品的基础包装,然后他们可以在结帐部分中将此包装倍增。
我想做什么,修改magento的结帐部分,将所选产品与文本字段相乘,并按按钮计算总金额。
喜欢图像...
有人帮我做这样的事吗?
答案 0 :(得分:3)
就个人而言,我会在原型中使用前端代码执行此操作。原因是您无论如何都必须修改您的模板,并且您的客户无论如何都需要启用javascript才能访问您的购物车。
一般方法是让您的应用按钮的onclick获取数量文本框的id.value,然后使用购物车页面中的数量类更新所有内容。然后让此脚本调用与标准更新数量按钮相同的更新URL。
答案 1 :(得分:1)
这是我的建议:在你的模块中,你创建一个听controller_action_predispatch_checkout_cart_index
的观察者。在您的观察者的方法中,您可以使用$itemCollection = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();
获取购物车中的商品。现在你只需要遍历这个条件并设置数量:
foreach ($itemCollection as $item) {
$item->setQty(here_the_integer_you_want);
}
编辑抱歉,没有阅读有关输入和按钮的内容 对于输入和按钮,您只需编辑模板(app / design / frontend / base / default / template / checkout / cart.phtml)。或者,如果您希望tom创建一个独立的扩展,您可以由观察者添加它们。查看inchoo's post。您刚刚创建的这个表单将调用您的控制器/操作,您可以使用我之前提到的相同技术设置项目数量(因此不再需要观察者)。
如果不清楚,请告诉我 HTH