在结帐/页面的末尾,我想在协议下面添加一个复选框。目前只有术语。
我喜欢添加一个可选的复选框,在那里用户可以注册时事通讯或检查产品应包装为目前。当然,这个领域应该显示在后端,让我可以看到,如果订单应该是礼物或如果用户想要的时事通讯。
谁能告诉我怎么做“礼物复选框”或时事通讯?
提前感谢!
发布于 2013-02-20 22:46:34
我以前通过执行以下操作介绍了时事通讯选项:
添加字段
更新template checkout/onepage/agreements.phtml ements.phtml以包含新的复选框,
使用checkout_type_onepage_save_order_after的
要使用自定义模块,请使用以下内容
<events>
<checkout_type_onepage_save_order_after>
<observers>
<your_module>
<class>your_module/observer</class>
<method>saveOrderAfter</method>
</your_module>
</observers>
</checkout_type_onepage_save_order_after>
</events>
在观察者中获取客户信息
在你的观察者中,你可以通过
Mage::app()->getRequest()->getParam('whatever_you_called_your_field', false);
然后,您可以获得订单的客户or或电子邮件
$observer->getData('order')->getCustomerId();
$observer->getData('order')->getCustomerId();
此时,您可以加载时事通讯/订阅者模型并订阅电子邮件,或者将客户和setIsSubscribed加载为true。
这不会针对订单保存属性,但是如果您在安装脚本中创建了订单属性,那么您可以使用观察者来针对订单进行设置,尽管使用sales_order_save_before事件来针对订单设置属性可能更安全。
$installer->addAttribute(
'order',
'your_attribute',
array(
'label' => 'Newsletter',
'type' => 'int'
)
);
https://stackoverflow.com/questions/14977738
复制相似问题