在结帐/ 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' 
     ) 
);