嗨,我正在尝试覆盖Mage_Customer_AccountController,以便可以扩展createPostAction方法。在我的一生中,我似乎无法做到这一点,它要么抛出404页,这表明它不是该文件的正确路径,或者默认为原始格式。

<rewrite>
       <company_modulename_account>
           <from><![CDATA[#^/customer/account/#]]></from>
           <to>/modulename/account</to>
       </company_modulename_account>
</rewrite>

我的 Controller 位于此处local/company/modulename/controllers/AccountController.php

最佳答案

相反,您可以尝试:

...
 <frontend>
        <routers>
            <customer>
                <args>
                    <modules>
                        <company_modulename before="Mage_Customer">Company_Modulename</company_modulename>
                    </modules>
                </args>
            </customer>
        </routers>
    </frontend>
...

并使用以下代码创建一个 Controller 类:app/code/[codePool]/Company/Modulename/controllers/AccountController.php:
require_once 'Mage/Customer/controllers/AccountController.php';
class Company_Modulename_AccountController extends Mage_Customer_AccountController
{
    public function createPostAction(){
        die('Overriden');
    }
}

这是有关 Controller 替代的更多信息:
https://stackoverflow.com/a/7117076/887385

祝你好运!!

关于Magento:覆盖客户帐户 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9350044/

10-11 13:36