我有这个控制器:
class Mage_Contacts_IndexController extends Mage_Core_Controller_Front_Action
{
public function preDispatch()
{
parent::preDispatch();
if( !Mage::getStoreConfigFlag(self::XML_PATH_ENABLED) ) {
$this->norouteAction();
}
}
public function indexAction()
{
$this->_initLayoutMessages('juron/ses');
$this->renderLayout();
}
public function postAction()
{
$post = $this->getRequest()->getPost();
if ( $post ) {
......
}
}
}
在/Mage/Contacts/etc/config.yml
中:
<events>
<controller_action_postdispatch_contacts_post_action>
<observers>
<contacts>
<type>model</type>
<class>contacts/observer</class>
<method>postDispatch</method>
<contacts>
</observers>
</controller_action_postdispatch_contacts_post_action>
</events>
在/Mage/Contacts/Model/Observer.php
中:
class Mage_Contacts_Model_Observer
{
public function postDispatch(Varien_Event_Observer $observer)
{
echo 'Stop';
die();
}
}
通常,当我尝试提交联系表格时,我应该看到Stop
并且执行应该完成但不能这样工作。似乎未调用观察者。你能帮我吗 ?提前谢谢。
答案 0 :(得分:0)
这里要听的正确事件将是controller_action_postdispatch_contacts_index_post
。
结构为controller_action_postdispatch_ROUTER_CONTROLLERNAME_ACTIONNAME
。
P.S。 :确认您应该将模块写入本地池而不是内核中。