系统及相关环境:
名称 版本
Magento EE-2.2.5
PHP 7.1
准备工作:
  1. 禁用 Magento 缓存:

进入 Magento2 管理后台 Systems -> Tools -> Cache Management,选中所有缓存类型,然后禁用即可。

2. 设置 Magento 为开发模式:

#在 Magento2 项目根目录下执行如下命令即可

php bin/magento deploy:mode:set developer


开始:

在本文中我们创建一个名为 Hello_WorldMagento2 模块。

一、创建模块文件和模块文件夹

Magento2 中模块放在 app/code/ 目录下,并按命名空间分组。

创建模块目录:

  • app/code/Hello
  • app/code/Hello/World

Hellow 文件夹是模块的命名空间, World 文件夹是模块的名称。

注意: 如果项目中不存在 app/code/ 目录,则手动创建即可。

配置模块:

创建 app/code/Hellow/World/etc/ 目录并在该目录下创建 module.xml 文件,module.xml 文件中写入如下内容:

<?xml version="1.0" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Hello_World" setup_version="0.0.1"/>
</config>

注册模块:

app/code/Hello/World 目录下创建 registration.php 并写入如下内容:


<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Hello_World',
    __DIR__
);

启用模块:

完成了步骤3后我们已经创建了一个最基本的模块,我们将在此步骤中启用模块。

打开终端并转到 Magento2 根目录,运行命令:

php bin/magento module:status

可以看到模块现在被禁用:

已禁用的模块列表:Hello_World

运行如下命令启用模块:

php bin/magento module:enable Hello_World

或者打开 app/etc/config.php 文件:

会在此文件中看到很多模块,在其中添上新增的模块即可:

...

'Hello_World' => 1,
...

现在模块就已经被启用,可以使用了。

完成此步骤后在浏览器打开网站,你将收到如下错误:

Please upgrade your database: Run “bin/magento setup:upgrade” from the Magento root directory.

运行如下命令:

php bin/magento setup:upgrade

此时使用浏览器打开网站即可。

如果此时打开网站发现网站布局损坏,页面错乱, 使用如下命令即可修复:
php bin/magento setup:static-content:deploy

验证安装:

打开 app/etc/config.php 文件 如果找到 'Hello_World' => 1 即代表模块已经被启用了。

到此我们就完成了一个简单模块的创建。