在结帐/一页结束时我想在协议下方添加一个复选框。目前只有条款。
我想添加一个可选的复选框,用户可以在其中注册简报或检查产品是否存在。当然这个字段也应该在后端显示,所以我可以看到订单是否是礼物或者用户是否想要时事通讯。
有人可以告诉我如何做“礼物复选框”或简报吗?
提前致谢!
答案 0 :(得分:4)
我之前通过以下方式介绍了新闻稿选项:
添加字段
更新模板checkout / onepage / agreements.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);
然后,您可以获取订单customerid或电子邮件
$observer->getData('order')->getCustomerId();
$observer->getData('order')->getCustomerId();
此时您可以加载简报/订阅者模型并订阅电子邮件或加载客户并将setIsSubscribed设置为true。
这不会根据订单保存属性,但如果您在安装脚本中创建订单属性,则可以使用观察者根据您的订单设置此属性,尽管使用sales_order_save_before事件设置属性可能更安全违反命令。
$installer->addAttribute(
'order',
'your_attribute',
array(
'label' => 'Newsletter',
'type' => 'int'
)
);