> Magento2中文手册 > 创建组件文件结构

创建组件文件结构

在本节中,我们将讨论组件类型的不同文件结构。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

有关语言包的更多信息, 查看翻译和语言包.

下一步

注册你的组件

上一篇:
下一篇: