系统及相关环境:
| 名称 | 版本 |
|---|---|
| Magento | EE-2.2.5 |
| PHP | 7.1 |
准备工作:
- 禁用
Magento缓存:
进入 Magento2 管理后台 Systems -> Tools -> Cache Management,选中所有缓存类型,然后禁用即可。
2. 设置 Magento 为开发模式:
#在 Magento2 项目根目录下执行如下命令即可
php bin/magento deploy:mode:set developer
开始:
在本文中我们创建一个名为 Hello_World 的 Magento2 模块。
一、创建模块文件和模块文件夹
在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 即代表模块已经被启用了。
到此我们就完成了一个简单模块的创建。