【发布时间】:2010-12-07 07:30:43
【问题描述】:
我正在寻找一种将产品添加到购物车而不显示它的方法。
例子:
新客户订单 -> 购物车中有欢迎信,但客户没有看到。
添加的产品成本始终为 0 欧元,因此它从未改变购物车总数。
解决方案应该尽可能少地改变。
有什么想法吗?
谢谢!
(对不起,我的英语很糟糕......)
【问题讨论】:
标签: php events magento observer-pattern shopping-cart
我正在寻找一种将产品添加到购物车而不显示它的方法。
例子:
新客户订单 -> 购物车中有欢迎信,但客户没有看到。
添加的产品成本始终为 0 欧元,因此它从未改变购物车总数。
解决方案应该尽可能少地改变。
有什么想法吗?
谢谢!
(对不起,我的英语很糟糕......)
【问题讨论】:
标签: php events magento observer-pattern shopping-cart
我会说稍微更改一下公式,然后在保存订单之前将其添加到订单中。在将报价转换为订单时(sales_model_service_quote_submit_before 是这里的一个好事件,但还有其他事件),将产品添加到订单中。
这样一来,您就不必四处尝试隐藏购物车中的物品了,效果是一样的。
【讨论】:
两个选项:
在 Magento 中定义一个扩展虚拟产品类型的新产品类型,然后为结帐和购物车使用不输出任何 html 的自定义项目渲染器。这是该过程的有用tutorial。
定义一个名为“cart_visibility”或类似名称的新布尔产品属性,在您自己的主题中覆盖DOCROOT\app\design\frontend\base\default\template\checkout\cart\item\default.phtml,并在输出项目属性之前测试该值,例如第 28 行:
<?php if($_item->getCartVisibility(){ ?>
不要忘记关闭文件末尾的大括号。
【讨论】:
如果它是 0 那么为什么将它添加到购物车只需将其作为消息添加到购物车页面,方法是将其添加到购物车模板或将您自己的块注入此模板
【讨论】: