我写试图重写一个第三方扩展Magento的扩展IndexController.php
但Magento的不承认它。
我有一个类似的问题,因为这个问题 ,我已经试过benmarks建议,但Magento的似乎仍然无视我的覆盖。
我config.xml
文件看起来像这样:
<?xml version="1.0"?>
<config>
<modules>
<Mycompany_Stores>
<version>0.1.0</version>
</Mycompany_Stores>
</modules>
<frontend>
<routers>
<storepickup>
<args>
<modules>
<Mycompany_Stores before="Magestore_Storepickup">Mycompany_Stores</Mycompany_Stores>
</modules>
</args>
</storepickup>
</routers>
</frontend>
</config>
而我IndexController.php
看起来是这样的:
<?php
require_once('Magestore/Storepickup/controllers/IndexController.php');
class Mycompany_Stores_IndexController extends Magestore_Storepickup_IndexController {
public function indexAction() {
var_dump('asdfasdfsdf');
parent::indexAction();
}
}
继benmarks从上面的链接后的第一个建议,我得到一个错误: Fatal error: Uncaught exception 'Exception' with message 'Warning: include(Mycompany/Stores/IndexController.php) [<a href='function.include'>function.include</a>]: failed to open stream:...
但是,随着第二个建议,我得到:
["storepickup"] => array(2) {
[0] => string(14) "Mycompany_Stores"
[1] => string(21) "Magestore_Storepickup"
}
因此,它似乎有一种超越,但我不明白,为什么我indexAction()
或任何其他方法不获取调用。
编辑:定义我在我自己的路线config.xml
文件的工作,当我去www.site.com/stores:
<stores>
<use>standard</use>
<args>
<module>Mycompany_Stores</module>
<frontName>stores</frontName>
</args>
</stores>
我仍然无法弄清楚,为什么我的控制器不覆盖,虽然扩展。 我已经能够这样同一个模块内覆盖屏蔽,只是没有控制器。