Magento不加载模块config.xml

Vla*_*ler 2 magento

Magento停止加载模块config.xml

缓存已禁用并刷新.

该模块显示在Admin-> Configuration-> Advanced中,并启用模块输出.开发者模式是否已启用.

它工作,没有人碰到服务器.

有什么建议?

Vin*_*nai 16

文件系统路径与模块注册文件中的规范不匹配.
对于这样的注册文件:

<config>
    <modules>
        <Example_TestModule>
            <active>true</active>
            <codePool>local</codePool>
        </Example_TestModule>
    </modules>
</config>
Run Code Online (Sandbox Code Playgroud)

Magento将首先获取<codePool>节点值(在节点名称中观察大写字母P)并将其附加到app/code /,这会给我们app/code/local /.

接下来,Magento <modules>在此示例中使用了节点的名称Example_TestModule.
所有下划线都从该字符串转换为斜杠,然后将其附加到代码池中.这为我们提供了模块的文件系统路径,在示例中它是 app/code/local/Example/TestModule /.

现在附加硬编码路径etc/config.xml.

所以config.xml文件的最终路径是

app/code/local/Example/TestModule/etc/config.xml
Run Code Online (Sandbox Code Playgroud)

目录名称的大小写必须与指定的路径完全匹配.
如果不是,它只能用于不区分大小写的文件系统(如windows或默认的OSX fs),但不适用于Unix.

还有一件事:就像自动加载器一样,命名空间和模块目录的第一个字符将是大写的.所以<example_testModule>最终仍会被解释为Example/TestModule /.

  • "观察大写字母P".D'哦!谢谢.M) (3认同)