Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
覆盖的Magento层次结构_Magento_Controller_Overriding_Hierarchy - Fatal编程技术网

覆盖的Magento层次结构

覆盖的Magento层次结构,magento,controller,overriding,hierarchy,Magento,Controller,Overriding,Hierarchy,是否有人知道覆盖的层次结构,例如控制器 例如: 我想覆盖“本地”中的AccountController。 但是有一个社区插件也覆盖了这个控制器。 可能还有另一个本地模块覆盖核心AccountController 如何影响Magento使用我的自定义AccountController?所有三个代码池,即本地、社区和核心,在Magento中具有以下优先级 1. local 2. community 3. core 因此,Magento首先在本地搜索文件,然后在社区中搜索,最后在核心代码池中搜索 希

是否有人知道覆盖的层次结构,例如控制器

例如:
我想覆盖“本地”中的AccountController。
但是有一个社区插件也覆盖了这个控制器。
可能还有另一个本地模块覆盖核心AccountController


如何影响Magento使用我的自定义AccountController?

所有三个代码池,即本地、社区和核心,在Magento中具有以下优先级

1. local
2. community
3. core
因此,Magento首先在本地搜索文件,然后在社区中搜索,最后在核心代码池中搜索


希望这对您有所帮助。

您需要用控制器覆盖社区模块AccountController。 还可以在config.xml中添加代码

<config> 
  <modules> 
        <Extenstion_Communitymodule> 
          <depends><Yourmodule_Modulename/></depends>
         </Extenstion_Communitymodule>
   </modules>
    </config>

Magento有三个代码池

核心
社区
本地

代码池位于包含所有magento模块的文件夹“app/Code”内

核心:这是magento的核心模块,不要试图编辑此文件夹

社区:包含第三方模块

本地:这是您创建的文件夹,您可以随时编辑

如果要覆盖任何文件或控制器,请在本地文件夹中执行该操作

地方优先。 然后是社区文件夹 然后核心的优先级最低
但如果您更改核心文件夹,则在升级magento时会影响并丢失所有更改。

谢谢。好的,这道菜很有帮助。当本地有两个或多个控制器重写同一个核心控制器时会发生什么情况?我想您在重写和扩展时会感到困惑…核心控制器在代码池中不能被重写多次。。。。自定义模块曾经扩展过核心控制器文件。。。。