我有以下问题:
我使用观察者" controller_action_predispatch_checkout_onepage_saveBilling"要获取结算部分中自定义下拉列表的值,使用此下拉列表,用户可以选择客户组,但前提是他在结帐阶段创建帐户。
现在我想设置用户选择的客户组" sales_order_place_after"观察者,但我无法理解如何将group_custom_id值从第一个观察者传递到第二个观察者。
答案 0 :(得分:1)
使用
将两个观察者注册为单身<type>singleton</type>
在config.xml
中(或将其删除,因为它是默认类型)
将您的数据存储为观察者类本身的属性
class My_Module_Model_Observer
{
protected $_myDropdownValue;
public function onSaveBilling(Varien_Event_Observer $observer)
{
// ...
$this->_myDropdownValue = ...;
}
public function onPlaceOrder(Varien_Event_Observer $observer)
{
//access value with $this->_myDropdownValue;
}
}
答案 1 :(得分:0)
请记住KISS。将值存储在变量中,可能在观察者类中,因为观察者通常是单身人士,单身人士不会离开,直到页面被提供。