Magento,用其他本地控制器覆盖本地控制器
Magento, Override local controller with other local controller
我正在尝试用其他本地扩展覆盖本地代码池扩展控制器,但它不起作用,不知道原因,firstextension
是我想用 secondextension
覆盖的扩展
这是我的代码
config.xml
<admin>
<routers>
<firstextension>
<args>
<modules>
<Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension_Adminhtml</Namespace_Secondextension>
</modules>
</args>
</firstextension>
</routers>
</admin>
和controller
<?php
require_once 'local/Namespace/Firstextension/controllers/Adminhtml/CustomController.php';
class Namespace_Secondextension_Adminhtml_CustomController extends Namespace_Firstextension_Adminhtml_CustomController
{
public function saveAction()
{
}
}
也许 Namespace_secondextension
中的拼写错误应该站在 Namespace_Secondextension
中,区分大小写在 Magento 中很重要,是你的问题吗?
通过更改
解决
require_once 'local/Namespace/Firstextension/controllers/Adminhtml/CustomController.php';
到
getModuleDir('controllers','Namespace_Firstextension').DS.'Adminhtml'.DS.'CustomController.php';
还有
<Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension_Adminhtml</Namespace_Secondextension>
到
<Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension</Namespace_Secondextension>
我正在尝试用其他本地扩展覆盖本地代码池扩展控制器,但它不起作用,不知道原因,firstextension
是我想用 secondextension
覆盖的扩展
这是我的代码
config.xml
<admin>
<routers>
<firstextension>
<args>
<modules>
<Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension_Adminhtml</Namespace_Secondextension>
</modules>
</args>
</firstextension>
</routers>
</admin>
和controller
<?php
require_once 'local/Namespace/Firstextension/controllers/Adminhtml/CustomController.php';
class Namespace_Secondextension_Adminhtml_CustomController extends Namespace_Firstextension_Adminhtml_CustomController
{
public function saveAction()
{
}
}
也许 Namespace_secondextension
中的拼写错误应该站在 Namespace_Secondextension
中,区分大小写在 Magento 中很重要,是你的问题吗?
通过更改
解决 require_once 'local/Namespace/Firstextension/controllers/Adminhtml/CustomController.php';
到
getModuleDir('controllers','Namespace_Firstextension').DS.'Adminhtml'.DS.'CustomController.php';
还有
<Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension_Adminhtml</Namespace_Secondextension>
到
<Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension</Namespace_Secondextension>