视频在youtube网站国内访问不了,可以使用翻墙软件查看。
视频地址:www.youtube.com/embed/682p52tFcmY@autoplay=1

下面是视频文字介绍:

Magento 2系统整体结构是建立在模块的基础上。通常,创建定制的第一步是构建模块。

要创建模块,需要完成以下步骤:

  1. 创建模块文件夹
  2. 创建 etc/module.xml 文件.
  3. 创建 registration.php 文件.
  4. 运行 bin/magento setup:upgrade脚本安装新模块
  5. 检查模块是否正常工作

让我们详细地看一下这些步骤。

创建模块文件夹

Magento 2模块文件夹可以创建在两个地方: app/code 和 vendor 文件夹

根据Magento 2已安装,核心模块可以位于 vendor/magento/magento-*文件夹 或 app/code/Magento/ 文件夹

您应该为您的新模块选择哪些位置?

如果为特定项目构建模块,最好选择应用app/code文件夹并提交到项目的存储库中。

如果你要构建一个可重用的扩展,最好使用composer来创建它,并将你的模块放在 vendor/<YOUR_VENDOR>/module-something 文件夹。

在Magento 2每个模块的名称由两部分组成–vendor和模块本身。换句话说,模块分为vendor,所以你需要定义vendor和模块名称。在这个例子中,让我们的vendor名称“Learning”和“firstunit”模块。

让我们创建文件夹 app/code/Learning 和这个文件夹里面放一个文件夹:FirstUnit。如果您使用命令行,代码:

  1. cd 到根文件夹
  2. mkdir app/code/Learning
  3. mkdirapp/code/Learning/FirstUnit

确保您有权限在安装中创建文件和文件夹

下一步, 你需要创建 etc/module.xml 文件。 此文件需要模块存在。

此文件包含以下信息:

  • 模块名称
  • 模块版本
  • 模块依赖

模块名称定义的文件夹我们刚刚创建的,因为在Magento 2类名称必须遵循的文件夹结构。因为我们创建了文件夹Learning/FirstUnit, our module name will be Learning_FirstUnit 所有属于这个模块的类将从 Learning\FirstUnit – 示例: Learning\FirstUnit\Observer\Test.

模块版本表示数据库架构和数据的当前版本,并用于升级。 例如,假设您决定在模块中修改表的架构。
你怎么能确保在所有部署代码的情况下会发生这种变化?通过直接SQL查询修改数据库将不起作用。相反,Magento
2已经安装和升级的每一个模块的脚本(可选)。这些脚本包含修改数据库架构或数据的命令。跟踪是否执行脚本或不使用Magento
2模块版本。每次执行新的数据库更改时,您将实现模块的新版本并更改相应的版本 module.xml. Magento的保存在数据库的当前模块的版本,如果数据库中的一个值与 module.xml 不匹配, 它将执行升级代码。

依赖。如果一个模块依赖于另一个模块,module.xml 文件将有一个特殊声明,定义当前模块依赖的模块列表。在这个例子中,我们将使我们的模块依赖magento_catalog。

使用以下命令行代码,创建文件夹 app/code/Learning/FirstUnit/etc:

  1. mkdir app/code/Learning/FirstUnit/etc

然后把下面的代码:

  1. <?xml version="1.0"?>
  2. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
  3. <module name="Learning_FirstUnit" setup_version="0.0.1"> <sequence>
  4. <module name="Magento_Catalog"/> </sequence>
  5. </module>
  6. </config>

请注意,在指定的xml文件中:

  • 模块名称: Learning_FirstUnit (基于我们创建的文件夹)
  • 版本: 0.0.1 (我们的模块的初始版本)
  • 依赖: Magento_Catalog. 我们可以有多重依赖。在这种情况下, 我们会把<module name=”..” /> 序列节点下的节点。

创建registration.php 文件

每个模块必须有这个文件,它告诉Magento如何定位模块。继续我们的例子,创建文件app/code/Learning/FirstUnit/registration.php。然后把下面的内容放进去:

  1. <?php \Magento\Framework\Component\ComponentRegistrar::register(
  2. \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Learning_FirstUnit',
  3. __DIR__
  4. );

registration.php 是所有模块都遵循相同模式的标准化文件。

唯一不同的是模块名,在我们的例子中是Learning_FirstUnit

运行 “setup:upgrade” 命令

运行此命令使您的新模块主动通知Magento的存在。

  1. php bin/magento setup:upgrade

它应该呼应大量的输出,其中一行应该是Learning_FirstUnit. 验证此行代码是否存在。

检查新模块是否处于激活状态

到目前为止,我们还没有添加任何有用的代码到我们的模块-它仍然是空的(因此无形的)。 为了验证它已被确认,检查文件 app/etc/env.php. 它有一个自动生成模块的列表是活跃的。

手动更改此列表!

  1. cat app/etc/env.php | grep Learning_FirstUnit

采用这些步骤,你可以成功地创建Magento 2新模块。

Magento 2开发教程 - 创建新模块相关推荐

  1. RouYi-Cloud平台 ---项目的启动、登录功能是怎么实现的、怎么样创建新模块

    RouYi-Cloud平台 1.项目启动 (1)环境准备 JDK >= 1.8 (推荐1.8版本) Mysql >= 5.7.0 (推荐5.7版本) Redis >= 3.0 Mav ...

  2. Simulink代码生成(二十二)——TSP开发之创建外部设备模块

    Simulink代码生成(二十二)--TSP开发之创建外部设备模块 文章目录 Simulink代码生成(二十二)--TSP开发之创建外部设备模块 一.C Mex Sfunction文件解读 一.C M ...

  3. magento php 所需模块,magento博客 - Magento2 创建基本模块

    我们将在Magento 2中创建一个简单的模块,完成后,模块将在自定义前端路由的内容中显示"Hello world!". 先决条件 毋庸置疑,您需要最新的Magento 2版本 在 ...

  4. 若依框架不分离版本创建新模块(多模块版)

    第一步 修改代码生成配置 可不修改,对作者.版本.等字段进行重新编辑 第二步 新建数据库表结构(单表) 若依建表有个要求:表字段 和 表,都需要加注释,注释就是生成页面的显示内容 drop table ...

  5. 2019最新泰牛PHP实战开发教程全集(四大模块全面出击 最强PHP教程)

    课程介绍: 最新的泰牛PHP实战开发教程,由韩顺平老师全程主讲,含金量超级高,讲课风格很干练不拖泥带水,学PHP首选的课程! 下载地址:百度网盘 -------------------课程目录---- ...

  6. 【白板动画制作软件】万彩手影大师教程 | 创建新的工程项目

    当您在万彩手影大师中创建工程项目时,既可以从空白画布开始,也可以从软件自带的各种模板开始. 选项1 从空白画布开始 ① 在万彩手影大师初始界面点击"新建项目". ② 在弹出的编辑界 ...

  7. 01-移动端开发教程-CSS3新特性(上)

    1. 移动端开发课程概述 移动互联网的兴起,让移动端的开发迅速蹿红.对于前端开发者来说,移动端的开发已经占据了他们大部分工作时间.接下来老马带大家一起学习移动端开发的相关前端开发技术. 这边课程内容包 ...

  8. 【Web3 系列开发教程——创建你的第一个 NFT(6)】为 NFT 设置价格

    我想作为 NFT 的创建者,你可能有意将你的 NFT 出售给你的 NFT 爱好者. 为此,我们需要为 NFT 定价,一般有两种主要的定价方式: 在智能合约内定价(本文所讲) 在 NFT 市场或平台上列 ...

  9. 韩顺平的php东方航空_韩顺平老师最新PHP开发班 泰牛PHP实战开发教程全集 四大模块全面出击 最强PHP视频教程...

    另有非常详细的配套学习笔记 PPT HTML文件 代码等内容未列出 泰牛PHP实地培训\div css 3.3 第一部分 01-html的marquee和测试题~1.avi 02-div css的开山 ...

最新文章

  1. uboot更改gpio电平_ECBM系列教程4:单片机的手和脚——GPIO
  2. 更改MFC生成的程序的默认exe图标
  3. 一个把图片保存到SQL数据库的工具
  4. easyui combox使用
  5. linux初始化进程ppid号,linux基础(十一)--系统初始化的简谈
  6. Python编程从入门到实践~文件写入
  7. 猎豹浏览器怎么收藏网页 网页收藏方法简述
  8. Win7下安装git
  9. Description Resource Path Location Type Project configuration is not up-to-date with pom.xml. Select
  10. Java 开发新选择?Apache NetBeans IDE 9.0 正式发布
  11. 作为日千万订单级别的业务,美团外卖的后端服务是怎么支撑的
  12. Redfish 模型工具:Redfish Mockup Creator 和 Redfish Mockup Server
  13. LeetCode||颜色分类--给定一个包含红色、白色和蓝色,一共 *n* 个元素的数组,**原地**对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
  14. WebIM项目的架构设计以及实现
  15. 实时应用监控平台CAT
  16. java重复代码重构_重构重复代码
  17. 免费的文字转语音的软件有哪些
  18. 计算机系统软件--操作系统
  19. mysql数据库报 请在mysql配置文件修sql-mode为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  20. 文件打包zip 下载

热门文章

  1. 分布式环境下,怎么保证线程安全
  2. 2019CCPC湖南全国邀请赛-Chika and Friendly Pairs- 莫队+树状数组+离散化
  3. android 面试汇总二
  4. phpStydy配置memcache扩展
  5. 学习曾国藩,学做人做事学技术
  6. 08-SSH综合案例:前台用户模块:注册页面的前台JS校验
  7. 【转】Windows Server2008 R2下安装Oracle 10g
  8. LEX和YACC的使用(例子)
  9. 基于Visual Studio2010讲解LINQ读出数据库数据生成XML
  10. [Leetcode][第75题][JAVA][颜色分类][双(三)指针][计数排序]