Так что я просто пытаюсь создать крючок в событии предварительной передачи регистрации. Это то, что я до сих пор:Magento: создание события для расширения создания клиента в magento
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 вызывался в моих журналах событий, но его не называя моего функция.
Пожалуйста, помогите!
UPDATE:
Ответ ниже работал отлично для меня. Однако $ observer-> getEvent() -> getCustomer() получает NULL для меня, хотя другой наблюдатель переопределяет одно и то же точное событие, и это отлично работает. Я пробовал временно комментировать конфигурацию observer для другого расширения, и он все еще пуст. Есть идеи?
В вашем наблюдателя вы не можете получить объекты, которые были не отправлено с событием. События 'controller_action_predispatch_' запускаются во время диспетчеризации приложения (очевидно) и не содержат никаких объектов из реализации логики контллеллера. Из этого события вы можете получить только сам контроллер действий. Вы должны использовать другое событие, чтобы привлечь клиента к созданию - например, 'customer_register_success' –