这一章节我们主要讲述magento2 Hello World 模块的创建。
magento2的插件即module都放在 app/code 下面,magento1中的local/ community/ core/ 已经移除了,现在我们开始创建我们的Hello World。
第一步:
创建以下目录到你的magento2根目录下:
app/code/Jike/Hello
第二步:
创建app/code/Jike/Hello/etc/module.xml
内容如下:
复制代码
第三步:
创建 app/code/Jike/Hello/registration.php
内容如下:
复制代码
第四步:
在你的magento2根目录下执行以下命令:php bin/magento module:status,这个命令是显示所有的模块的状态,正常情况下在未激活列表将显示我们新建的模块,如下图:
然后执行以下命令 激活我们新建的模块:php bin/magento module:enable Jike_Hello。
这个时候你去看下:app/etc/config.php,将看到我们的模块已经激活了,这个文件管理所有的模块的激活,当然你也可以手动增加一行,激活模块,不用我们之前的命令。
app/etc/config.php
然后你就可以去前台看下我们成果啦,打开前台你会发现有一个报错信息:
不用担心,只要执行:php bin/magento setup:upgrade 更新一下就好了。
这个时候一个新的模块就创建好了,你可以在后台 System Configuration -> Advanced -> Disable Modules Output 看到你新建的模块。
接下来我们创建一个控制器,让他显示 Hello 09jike!;
首先我们配置一个路由,和magento1路由在config.xml里面配置不一样,magento2的路由配置是一个独立的routes.xml,让我们新建以下文件:
Jike/Hello/etc/frontend/routes.xml
内容如下:
复制代码
注意route id 和 frontName 尽量保持一致,这个也是我们的路由的名字 显示的效果应该是
web.magento2.com/jike/hello/world
接着我们创建controller和action:
Jike/Hello/Controller/Hello/World.php
内容如下:
复制代码
如果没有出错的话 将会如下图的一个结果:
下一节将讲述用layout和phtml显示“Hello 09jike!”。
magento2的插件即module都放在 app/code 下面,magento1中的local/ community/ core/ 已经移除了,现在我们开始创建我们的Hello World。
第一步:
创建以下目录到你的magento2根目录下:
app/code/Jike/Hello
第二步:
创建app/code/Jike/Hello/etc/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="Jike_Hello" setup_version="0.0.1"/>
- </config>
第三步:
创建 app/code/Jike/Hello/registration.php
内容如下:
- <?php
- \Magento\Framework\Component\ComponentRegistrar::register(
- \Magento\Framework\Component\ComponentRegistrar::MODULE,
- 'Jike_Hello',
- __DIR__
- );
第四步:
在你的magento2根目录下执行以下命令:php bin/magento module:status,这个命令是显示所有的模块的状态,正常情况下在未激活列表将显示我们新建的模块,如下图:
然后执行以下命令 激活我们新建的模块:php bin/magento module:enable Jike_Hello。
这个时候你去看下:app/etc/config.php,将看到我们的模块已经激活了,这个文件管理所有的模块的激活,当然你也可以手动增加一行,激活模块,不用我们之前的命令。
app/etc/config.php
然后你就可以去前台看下我们成果啦,打开前台你会发现有一个报错信息:
不用担心,只要执行:php bin/magento setup:upgrade 更新一下就好了。
这个时候一个新的模块就创建好了,你可以在后台 System Configuration -> Advanced -> Disable Modules Output 看到你新建的模块。
接下来我们创建一个控制器,让他显示 Hello 09jike!;
首先我们配置一个路由,和magento1路由在config.xml里面配置不一样,magento2的路由配置是一个独立的routes.xml,让我们新建以下文件:
Jike/Hello/etc/frontend/routes.xml
内容如下:
- <?xml version="1.0"?>
- <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd">
- <router id="standard">
- <route id="jike" frontName="jike">
- <module name="Jike_Hello" />
- </route>
- </router>
- </config>
接着我们创建controller和action:
Jike/Hello/Controller/Hello/World.php
内容如下:
- <?php
- namespace Jike\Hello\Controller\Hello;
- class World extends \Magento\Framework\App\Action\Action
- {
- public function __construct(
- \Magento\Framework\App\Action\Context $context)
- {
- return parent::__construct($context);
- }
-
- public function execute()
- {
- echo 'Hello 09jike!';
- exit;
- }
- }
如果没有出错的话 将会如下图的一个结果:
下一节将讲述用layout和phtml显示“Hello 09jike!”。