【发布时间】:2013-07-11 07:25:51
【问题描述】:
我想要一个基本上是计算器的产品,我将使用 Javascript 构建它。我希望添加到购物车过程从页面中获取生成的价格并将其提交到购物车 - 这是我所拥有的。
我创建了一个观察者来挂钩 checkout_cart_product_add_after 事件并根据提交表单中的字段值更新报价项目价格,这很有效。
我遇到的问题是,如果您添加具有不同价格的第二个或多个版本的商品,它会将购物车中的所有其他版本更新为相同的价格 - 所以您永远不会有多个相同的商品不同价格的购物车。
有人有什么想法吗?这是我观察者中的代码:
public function modifyPrice(Varien_Event_Observer $observer) {
$customprice = $_POST["customprice"];
$item = $observer->getQuoteItem();
$item = ( $item->getParentItem() ? $item->getParentItem() : $item );
if ($customprice > 0) {
$item->setCustomPrice($customprice);
$item->setOriginalCustomPrice($customprice);
$item->getProduct()->setIsSuperMode(true);
}
}
【问题讨论】:
-
我建议以编程方式为您要添加到购物车的产品添加不同的附加选项。 Magento 然后会将它们视为不同的报价项目,而不是将它们加在一起。然后,您可以使用 JS 从购物车 DOM 中删除这些选项,使它们不可见
-
这绝对是一个想法,我会试一试,然后回复你。谢谢
-
检查下面的链接,这可能对你有帮助。 stackoverflow.com/questions/9721583/…
-
所以我决定正确地执行此操作,并在后端复制前端 JS 价格生成器。因此,我使用了下面链接中详述的方法,它应该为每个购物车项目提供自己的选项,这实际上与产品页面上选择的选项正确相关——甚至更好! stackoverflow.com/questions/9412074/… 我还没有完全测试,但希望价格不会被覆盖,因为它们是具有不同选项的不同报价项目。桑卡尔,谢谢你的链接。我会尽快更新。
-
我已经解决了这个问题。一旦解除我作为新用户的限制,将更新主题
标签: magento