2013-10-29 34 views
0

我有一个Magento EE 1.9网站,针对同一商店运行两个不同的主题:一个用于桌面,另一个用于移动。使用系统 - >设计 - >主题下的设计异常字符串根据用户代理更改主题。Magento - 确定客户在下订单时使用哪个主题?

我想要做的就是查看哪些订单来自桌面主题,哪些订单来自移动主题,以便我可以确定订单是来自桌面版网站还是移动网站。

有没有办法将主题的名称作为自定义属性或标志保存在订单中?

回答

0

如果我是你,我会创建一个Magento的扩展里面的事件观察器,并会听取事件,在那里,你可以更新您的订单属性或生成你的饲料,所以就看你

sales_order_place_after

然后,它取决于你如何开发你的手机主题,以便找到它的名字:

这将返回主题的名称

Mage::getSingleton('core/design_package')->getTheme('frontend') 

但根据this SO topic

,如果你使用的“模板”“匹配的表达式”

你最好尽量

Mage::getSingleton('core/design_package')->getTheme('template') 
+0

对不起,我应该说,我知道怎么弄的名称主题,但我不知道在哪里保存它。我可以做一些像'$ order-> setMyCustomAttributeHere(“myValue”);'?或者我必须在某个地方定义'myCustomAttribute'吗? – WackGet

+0

可以作为一个诚实的,为什么不呢?阅读此,希望它可以帮助http://stackoverflow.com/questions/12936470/adding-a-new-attribute-to-order-in-magento –

相关问题