每个Magento的2模块都有自己的一套配置文件,聚集成模块的etc目录中。 不像Magento的1,有在Magento 2没有单读配置文件。 **根目录 ** 我们把组件的根目录中,您开发组件代码的顶级目录。通常,此目录位于相对于Magento的根目录下面的目录之一: 应用程序app的子目录(推荐): 模块:app/code 主题:app/design/frontend (前端)app/design/adminhtml(admin) 语言包:app/i18n 您可以轻松地通过克隆Magento的2 GitHub的信息库建立这种类型的环境。通常情况下,你如果你想贡献代码到Magento的代码库2克隆库。 vendor:你得到这个目录结构,如果你使用的composer创建项目命令获取Magento的2元数据包(其下载CE或EE代码),或者如果解压缩的Magento 2存档。 **所需的文件 :** 所需要的所有组件如下: ~~~ registration.php: 除其他事项外,用于指定在其中安装的部件的目录;默认情况下,组件安装在<Magento root dir>/vendor目录。有关详细信息,请参阅组件注册。 composer.json: 指定组件的依赖。欲了解更多信息,请参阅composer整合。 ~~~ **etc的配置文件** Magento的2查找在该模块的etc目录中各模块的配置信息。根据您的模块的需求,你可能在你的模块的etc目录的顶层以下配置文件: * acl.xml * config.xml * di.xml * module.xml * webapi.xml 除了这些文件,Magento的2模块还嵌套了配置目录中的etc目录下的任何所需的管理HTML,前端,REST API或SOAP API的具体配置。您对这些目录中的文件添加覆盖在全局配置文件中的设置只对各自的功能。也就是说,如果你添加一个config.xml文件etc/frontend,你在该文件中进行的设置将覆盖中的设置,etc/config.xml中只店面功能。 * <your module root dir>/etc/adminhtml/ * <your module root dir>/etc/frontend/ * <your module root dir>/etc/webapi_rest/ * <your module root dir>/etc/webapi_soap/ **配置文件** * 配置文件,这些文件在该模块的etc目录的顶层是全局性的组件。 * 放在子目录(adminhtml,frontend,webapi_rest,webapi_soap)配置文件仅适用于那些相应的功能区。 **定制你的配置文件为模块做什么** 为你的模块需要的配置文件的组取决于新的模块做了什么。需要的配置文件取决于您打算如何使用该模块:将模块体现在店面的用户界面,还是在Magento管理面板,或作为后端延伸,使一个服务呼叫?或以上所有。例如,如果你的模块中执行管理功能,您应该添加任何必要的配置文件,这些功能etc/adminhtml/,如: * <your module root dir>/etc/adminhtml/di.xml * <your module root dir>/etc/adminhtml/routes.xml 同样,如果你的模块改变UI,你应该需要的配置文件添加到~/etc/frontend/.。例如: * <your module root dir>/etc/frontend/.xml * <your module root dir>/etc/frontend/page_types.xml 如果模块是可调用的API,还是未在UI表现一些其他的工作,你应该添加任何需要的配置文件中的REST和/或SOAP的WebAPI配置目录,如: <your module root dir>/etc/webapi_rest/di.xml <your module root dir>/etc/webapi_soap/di.xml 请记住,你可能能够使用配置文件在您的模块的etc目录的顶层完全处理您的模块的配置,但嵌套的目录是保持配置整齐条块分割的有效方法。