[转]magento2插件开发:magento2 Hello World

这一章节我们主要讲述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
内容如下:

<?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>

注意route id 和 frontName 尽量保持一致,这个也是我们的路由的名字 显示的效果应该是web.magento2.com/jike/hello/world
接着我们创建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;
    }
}

如果没有出错的话 将会如下图的一个结果:

未经允许不得转载:哈勃私语 » [转]magento2插件开发:magento2 Hello World

本文共1949个字 创建时间:2017年9月25日20:51   

分享到:更多 ()