创建组件文件结构
在本节中,我们将讨论组件类型的不同文件结构。Magento的应用寻找组成成分包括组件文件结构内的特定场所的配置文件。按照您正在开发的组件类型的预定义文件结构,以确保它按预期工作。
根目录位置
组件的根目录是该组件的顶层目录,目录和文件夹位于该目录下。这取决于你的Magento开发环境安装组件的根目录,你可以在两个地方:
-
<Magento 2 安装目录>/app
: 这是Magento 2 推荐的组件开发目录. 也可以 克隆Magento 2 gitHub库.- 模块放在
app/code
. - 前端主题放在
app/design/frontend
. - 后台主题放在
app/design/adminhtml
. - 语言包放在
app/i18n
.
- 模块放在
所需文件
所有组件需要以下文件:
-
registration.php
: 除此之外,此文件指定在生产环境中安装组件的目录。 默认情况下,组件安装在<magento 2 根目录>/vendor
目录. 更多信息,查看 组件注册. -
composer.json
: 指定组件依赖关系和其他元数据。更多信息,查看Composer 整合.
模块文件结构
一个Magento 2模块典型的文件结构如下图:
常见的目录
以下是一些常见的模块目录:
-
Block
: 包含PHP视图类作为模型视图控制器(MVC)模块逻辑的垂直实现的一部分。 -
Controller
: 包含PHP控制器类作为MVC垂直模块逻辑实现的一部分。 -
etc
: 包含配置文件。 -
Model
: 包含PHP模型类作为MVC垂直实现模块逻辑的一部分。 -
Setup
: 包含在安装或升级时调用的模块数据库结构和数据设置的类。
附加的目录
附加的文件夹可以添加用于配置和其他辅助功能的项目 插件,本地化和布局文件
Api
i18n
Plugin
view
主题文件目录
一个典型的主题文件结构如下图:
├── composer.json
├── etc
│ └── view.xml
├── i18n
│ └── en_US.csv
├── LICENSE_AFL.txt
├── LICENSE.txt
├── media
│ └── preview.jpg
├── registration.php
└── web
├── css
│ ├── email.less
│ ├── print.less
│ ├── source
│ │ ├── _actions-toolbar.less
│ │ ├── _breadcrumbs.less
│ │ ├── _buttons.less
│ │ ├── components
│ │ │ └── _modals_extend.less
│ │ ├── _icons.less
│ │ ├── _layout.less
│ │ ├── _theme.less
│ │ ├── _tooltips.less
│ │ ├── _typography.less
│ │ └── _variables.less
│ ├── _styles.less
│ ├── styles-l.less
│ └── styles-m.less
├── images
│ └── logo.svg
└── js
├── navigation-menu.js
├── responsive.js
└── theme.js
语言包文件结构
一个典型的语言包文件结构如下图:
├── de_DE
│ ├── composer.json
│ ├── language.xml
│ ├── LICENSE_AFL.txt
│ ├── LICENSE.txt
│ └── registration.php
├── en_US
│ ├── composer.json
│ ├── language.xml
│ ├── LICENSE_AFL.txt
│ ├── LICENSE.txt
│ └── registration.php
├── pt_BR
│ ├── composer.json
│ ├── language.xml
│ ├── LICENSE_AFL.txt
│ ├── LICENSE.txt
│ └── registration.php
有关语言包的更多信息, 查看翻译和语言包.
下一步
注册你的组件