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!”。
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!”。
相关文章推荐
- java.lang.OutOfMemoryError: PermGen space
- iOS视频播放Demo VideoPlayerDemo
- 實際案例: 接口接入驗證 (公眾號設定)
- 转:【译】CSS3:clip-path详解
- Yii创建模板
- auto_ptr的使用
- 欢迎使用CSDN-markdown编辑器
- python 多行匹配
- sql 优化
- 交叉验证(简单交叉验证、k折交叉验证、留一法)
- Linux常用命令
- Spring中的ThreadPoolTaskExecutor
- android 调用系统各种应用
- Python网络编程08----Django模版
- iOS基础:深入理解Objective-c中@class的含义
- HDU1241 DFS/BFS 求连通块
- iOS基础:深入理解Objective-c中@class的含义
- 二叉树和链表复习
- git 本地提交后如果让服务器上的GIT 自动更新拉取
- HTTP 幂等性