【问题标题】:Magento add an postDispatch to a post actionMagento 将 postDispatch 添加到 post 操作
【发布时间】:2018-12-05 07:45:43
【问题描述】:

我有这个控制器:

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 并且执行应该完成但不能像这样工作。似乎没有调用观察者。你能帮我吗 ?提前谢谢。

【问题讨论】:

标签: php magento magento-1.7 magento-1.9 magento-1.8


【解决方案1】:

在这里收听的正确事件是controller_action_postdispatch_contacts_index_post。 结构是controller_action_postdispatch_ROUTER_CONTROLLERNAME_ACTIONNAME

附: : 承认您应该将模块写入本地池而不是核心。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多