【问题标题】:Overriding account controller覆盖帐户控制器
【发布时间】:2013-05-05 05:55:33
【问题描述】:

我尝试覆盖控制器 /app/code/core/Mage/Customer/controllers/AccountController.php 中的函数。

我创建模块文件夹:

/app/code/local/Mandarin/SkipLogoutSuccess/etc/config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Mandarin_SkipLogoutSuccess>
            <version>0.1.0</version>
        </Mandarin_SkipLogoutSuccess>
    </modules>

    <frontend>
        <routers>
            <checkout>
                <args>
                    <modules>
                        <mandarin_skiplogoutsuccess before="Mage_Customer">Mandarin_SkipLogoutSuccess</mandarin_skiplogoutsuccess>
                    </modules>
                </args>
            </checkout>
        </routers>
    </frontend>
</config>

/app/code/local/Mandarin/SkipLogoutSuccess/controllers/AccountController.php

require_once 'Mage/Customer/controllers/AccountController.php';

class Mandarin_SkipLogoutSuccess_AccountController extends Mage_Customer_AccountController
{
    public function logoutAction()
    {
        $this->_getSession()->logout()->setBeforeAuthUrl(Mage::getUrl());
        Mage::log("its Allive!", null, 'mygento.log');
        $this->_redirectUrl(Mage::getUrl());
    }
}

/app/etc/modules/Mandarin_SkipLogoutSuccess.xml

<?xml version="1.0"?> 
<config>
    <modules>
         <Mandarin_SkipLogoutSuccess>
              <active>true</active> 
              <codePool>local</codePool> 
         </Mandarin_SkipLogoutSuccess>
    </modules>
 </config>

当我运行 logoutAction 控制器时,从核心使用。在我的日志文件中,我没有收到消息。 错误可能在哪里?

【问题讨论】:

    标签: magento controller magento-1.7


    【解决方案1】:

    我认为你犯了复制粘贴错误:

    在您的 config.xml 中,您引用命名空间“”,但它应该是“”(当然还有结束标记)

    【讨论】:

      【解决方案2】:

      在您的 config.xml 中

      <frontend>
          <routers>
              <customer> <!-- should be customer -->
      

      在普通话_SkipLogoutSuccess.xml

      <?xml version="1.0"?> 
      <config>
          <modules>
               <Mandarin_SkipLogoutSuccess>
                    <active>true</active> 
                    <codePool>local</codePool> 
                    <depends>
                        <Mage_Customer /> <!-- Make sure this is loaded first -->
                    </depends>
               </Mandarin_SkipLogoutSuccess>
          </modules>
       </config>
      

      【讨论】:

        猜你喜欢
        • 2016-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-10
        • 1970-01-01
        • 2012-03-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多