我为我的主页创建了一个新模板,只有注册和登录表单。到目前为止,这两种形式的行为都是我这样称呼的默认行为:
注册表格echo Mage::helper('customer')->getRegisterPostUrl()
和
echo Mage::helper('customer')->getLoginPostUrl()
用于登录表单。
我现在正试图覆盖Customer控制器以更改这些表单的操作。到目前为止,我有:
一个。创建了一个新模块并编辑了app/code/local/MyCo/Homepage/etc/config.xml
文件,如下所示:
<?xml version="1.0"?>
<config>
<modules>
<MyCo_Homepage>
<version>0.1.0</version>
</MyCo_Homepage>
</modules>
<frontend>
<routers>
<args>
<modules>
<myco_homepage before="Mage_Customer_AccountController">MyCo_Homepage</myco_homepage>
</modules>
</args>
</routers>
</frontend>
</config>
湾在文件app/code/local/MyCo/Homepage/controllers/IndexController.php
中创建了一个控制器,并将其从Mage_Customer_AccountController
扩展为:
require_once 'Mage/Customer/controllers/AccountController.php';
class Bemaad_Homepage_IndexController extends Mage_Customer_AccountController
{
public function loginPostAction()
{
}
public function createPostAction()
{
}
}
我的问题是:我不知道该怎么放在表单的动作属性中,Magento似乎没有注册我的新控制器。
有谁知道我犯了什么错误,或者我忘记了什么?
谢谢!
答案 0 :(得分:-1)
您的配置应如下
<?xml version="1.0"?>
<config>
<modules>
<MyCo_Homepage>
<version>0.1.0</version>
</MyCo_Homepage>
</modules>
<frontend>
<routers>
<customer>
<modules>
<myco_homepage before="Mage_Customer">MyCo_Homepage</myco_homepage>
</modules>
</customer>
</routers>
</frontend>
</config>
此外,您的重载控制器类必须具有与重载控制器类相同的控制器名称。
所以不应该 Bemaad_Homepage_IndexController 它应该是 Bemaad_Homepage_AccountController