0

所以我只是想在注册预调度事件中创建一个挂钩。这是我到目前为止所拥有的:

config.xml:

<events>
  <controller_action_predispatch_customer_account_createpost>
    <observers>
      <mymodulename>
        <class>mymodulename/observer</class>
        <method>hookToAccountCreationBefore</method>
      </mymodulename>
    </observers>
  </controller_action_predispatch_customer_account_createpost>
</events>

和观察者:

Model/Observer.php :

public function hookToAccountCreationBefore($observer) {
  die('getting here');
}

所以我去注册,我看到在我的事件日志中调用了 controller_action_predispatch_customer_account_createpost 事件,但它没有调用我的函数。

请帮忙!

更新:

下面的答案对我来说非常有效。然而,$observer->getEvent()->getCustomer() 对我来说是 NULL,即使另一个观察者正在覆盖相同的确切事件并且这工作正常。我已经尝试暂时注释掉另一个扩展的观察者配置,它仍然是空的。有任何想法吗?

4

2 回答 2

3

在你的 config.xml 你也可以做

config.xml:

<global>
    <models>
        <mymodulename>
            <class>MyNamespace_MyModuleName_Model</class>
        </mymodulename>
    </models>
    <events>
        <controller_action_predispatch_customer_account_createpost>
            <observers>
                <mymodulename>
                    <type>singleton</type>
                    <class>mymodulename/observer</class>
                    <method>hookToAccountCreationBefore</method>
                </mymodulename>
            </observers>
        </controller_action_predispatch_customer_account_createpost>
    </events>
</global>

或者

<global>
    <events>
        <controller_action_predispatch_customer_account_createpost>
            <observers>
                <mymodulename>
                    <type>singleton</type>
                    <class>MyNamespace_MyModuleName_Model_Observer</class>
                    <method>hookToAccountCreationBefore</method>
                </mymodulename>
            </observers>
        </controller_action_predispatch_customer_account_createpost>
    </events>
</global>
于 2013-05-07T15:52:50.193 回答
0

也许尝试以下事件

customer_register_success
于 2014-10-10T08:20:45.730 回答