在结帐/ onepage结束时添加自定义复选框
问题描述:
我希望在协议下面添加复选框。目前只有条款。在结帐/ onepage结束时添加自定义复选框
我想添加一个可选的复选框,用户可以在其中注册新闻稿或检查产品是否应该包装。当然,这个字段也应该显示在后端,以便我可以看到订单是礼物还是用户想要通讯。
有人可以告诉我如何做“礼物复选框”或通讯吗?
在此先感谢!
答
我已经通过执行以下操作之前所覆盖的通讯选项:
添加字段
更新模板结帐/ 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);
拿到场然后可以拿到订单客户ID或电子邮件
$observer->getData('order')->getCustomerId();
$observer->getData('order')->getCustomerId();
在这一点上,你可以加载通讯/订户模型和订阅电子邮件或加载客户并将setIsSubscribe为true。
这不会保存订单的属性,但是如果您在安装脚本中创建了订单属性,那么您可以使用观察者根据您的订单设置此属性,但使用sales_order_save_before事件设置属性反对订单。
$installer->addAttribute(
'order',
'your_attribute',
array(
'label' => 'Newsletter',
'type' => 'int'
)
);