您的位置:首页 > 其它

magento2插件开发(1):magento2 Hello World

2016-05-11 11:59 465 查看
这一章节我们主要讲述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;

}

}

复制代码

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



下一节将讲述用layout和phtml显示“Hello 09jike!”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: