2013-08-02 99 views
1

我想從本地模塊」覆蓋「社區」控制器覆蓋社區控制器。我發現很多教程瞭解重寫核心控制器而是一個社區控制器罷了。的Magento從本地模塊

的Magento版本:1.6.1

我現在的狀態是: - 覆蓋核心控制器=> OK - 覆蓋社區控制器=> KO

這是我的文件樹:

- community 
    - Namespace 
    - Mycommunitymodule 
     - controllers 
     - IndexController.php 
- local 
    - Namespace 
    - Mylocalmodule 
     - controllers 
     - Mycommunitymodule 
      - IndexController.php 
     - etc 
     - config.xml 

我的本地模塊的源我overrided控制器

<mycommunitymodule> 
    <args> 
    <modules> 
    <Namespace_Mylocalmodule before="Namespace_Mycommunitymodule">Namespace_Mylocalmodule_Mycommunitymodule</Namespace_Mylocalmodule> 
    </modules> 
    </args> 
</mycommunitymodule> 

源代碼:

<? 
$origDir = Mage::getModuleDir('controllers','Namespace_Mycommunitymodule').DS; 
require_once $origDir.'IndexController.php'; 
class Namespace_Mylocalmodule_Mycommunitymodule_IndexController extends  Namespace_Mycommunitymodule_IndexController 
{ 
public function indexAction() { 
     zend_Debug::Dump("test surchargé"); 
} 
} 

預先感謝您

回答

0

看起來幾乎是正確的。 嘗試通過更換

<Namespace_Mylocalmodule before="Namespace_Mycommunitymodule">Namespace_Mylocalmodule_Mycommunitymodule</Namespace_Mylocalmodule> 

通過

<Namespace_Mylocalmodule before="Namespace_Mycommunitymodule">Namespace_Mylocalmodule</Namespace_Mylocalmodule> 

和類名Namespace_Mylocalmodule_Mycommunitymodule_IndexController Namespace_Mylocalmodule_IndexController因爲如果需要的話它的文件名和文件夾。