了解Magento初始化模块时发生的情况
当我设置一个新模块时,我试图理解我的配置中发生了什么。要创建名为Ts_Wo的模块,我需要添加 app/code/etc/modules/Ts_Wo.xml了解Magento初始化模块时发生的情况,magento,Magento,当我设置一个新模块时,我试图理解我的配置中发生了什么。要创建名为Ts_Wo的模块,我需要添加 app/code/etc/modules/Ts_Wo.xml <config> <modules> <Ts_Wo> <active>true</active> <codePool>local</codePool> </Ts_Wo> </
<config>
<modules>
<Ts_Wo>
<active>true</active>
<codePool>local</codePool>
</Ts_Wo>
</modules>
</config>
真的
地方的
需要补充的是
app/code/local/Ts/Wo/etc/config.xml
<config>
<modules>
<Ts_Wo>
<version>0.1.0</version>
</Ts_Wo>
</modules>
<frontend>
<routers>
<wo>
<use>standard</use>
<args>
<module>Ts_Wo</module>
<frontName>wo</frontName>
</args>
</wo>
</routers>
</frontend>
</config>
0.1.0
标准
祖和
沃
从这里我进入magento管理面板系统->配置->高级,检查模块是否已启用
这一切都很好,直到我发现我已经创建了两个模块Tsu Wo和Tsu Woo。显然,我更正了这个类型(我在config.xml的modules节点中找到),然后返回到一个模块
我的问题是:
1-我以为Magento需要这两个文件来创建模块
2-如果没有,为什么我要创建这两个文件
2a-如果有,当我预期没有模块显示时,如何显示两个不同的模块
app/code/local/Ts/Wo/Model/Foo.php
上创建一个类Ts\u Wo\u Model\u Foo
,然后通过new Ts\u Wo\u Model\u Foo
在应用程序的某处实例化它。它是一个类,可以是模块的一部分,但模块本身并不正确地存在于应用程序中app/etc/modules/
,它是整个配置DOM的一部分)来控制模块的配置XML(例如app/code/local/Ts/Wo/etc/config.XML
)是否应该合并,以及合并的顺序(基于
)。将
标志设置为false
将防止合并模块配置
2a.admin(系统>配置>高级)中的显示是出了名的欺骗。一,此组用于禁用模块输出。二,此组中列出的“模块”只是从modules
Configuration DOM xpath下的所有节点派生而来,不多也不少。甚至“模块”当
标志设置为false时,此列表中将出现。@benmarks只是增加了模糊性,但我从来没有将app/etc/modules文件视为模块的一部分。这些是更多的Magento配置文件来告诉它要加载哪个模块。@AlanStorm-这是正确的思考方式。不幸的是,它们可以(并且已经)用于修改主模块配置。