我有这个任务要做,但我坚持下去。客户希望获得购买的类别名称产品。此信息通常未设置。因此,在第一步,我正在尝试捕获事件checkout_cart_product_add_after
并为产品设置类别。
所以在我的Observer.php
中,我尝试通过以下方式获取当前类别:
Mage::registry('current_category')->getName()
但似乎没有在Mage注册表中设置current_category
对象。如何以不同的方式向产品添加类别? (请注意,产品可能属于许多类别,我只需要购买它的那个类别。)
此致 文图斯
答案 0 :(得分:1)
创建会话对象并存储Mage :: registry('current_category') - > getName();那时:
答案 1 :(得分:1)
将这些数据保存在用户会话中并不是一个好主意。还有另一种方式。
在产品页面上,我添加了一个隐藏的input
标记,其中包含当前类别ID,可由$product->getCategory()->getEntityId()
接收。
第二步更难。在我将新字段(属性)添加到名为sales_flat_quote_item
的{{1}}和sales_flat_order_item
(我的自定义名称;))之前。现在我将观察者用于事件from_category
,并设置为引用项目我的自定义属性。
要使用我的自定义属性将报价项目转换为订单项目,我刚刚添加到config.xml sales_quote_save_before
部分:
global
现在我可以在结帐时使用它。