您好我正在尝试覆盖Mage_Customer_AccountController,以便我可以扩展createPostAction方法。对于我的生活,我似乎无法做到这一点,它会抛出一个404页面,这表明它不是文件的正确路径或默认为orignal。
<rewrite>
<company_modulename_account>
<from><![CDATA[#^/customer/account/#]]></from>
<to>/modulename/account</to>
</company_modulename_account>
</rewrite>
我的控制器位于local / company / modulename / controllers / AccountController.php
答案 0 :(得分:25)
相反,您可以尝试:
...
<frontend>
<routers>
<customer>
<args>
<modules>
<company_modulename before="Mage_Customer">Company_Modulename</company_modulename>
</modules>
</args>
</customer>
</routers>
</frontend>
...
创建一个控制器类:
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');
}
}
以下是有关控制器覆盖的更多信息:
https://stackoverflow.com/a/7117076/887385
祝你好运!!