如何创建magento模块z之Hello World例子(转)
步骤:
1.创建一个Hello World模块
2.为这个模块配置路由
3.为这个模块创建执行控制器
创建Hello World模块
创建模块的结构目录:
app/core/local/Sjolzy/HelloWorld/Block
app/core/local/Sjolzy/HelloWorld/controllers
app/core/local/Sjolzy/HelloWorld/etc
app/core/local/Sjolzy/HelloWorld/Helper
app/core/local/Sjolzy/HelloWorld/Model
app/core/local/Sjolzy/HelloWorld/sql
创建config.xml的内容(app/core/local/Sjolzy/HelloWorld/etc/config.xml):
<config>
<modules>
<Sjolzy_HelloWorld>
<version>0.1.0</version>
</Sjolzy_HelloWorld>
</modules>
</config>
然后创建一个系统配置文件激活这个模块
Sjolzy_HelloWorld.xml(app/etc/modules/Sjolzy_HelloWorld.xml)
<config>
<modules>
<Sjolzy_HelloWorld>
<active>true</active>
<codePool>local</codePool>
</Sjolzy_HelloWorld>
</modules>
</config>
检查是否模块已经激活:先清空magento缓存(var/cache),在后台管理:System->Configuration->Advanced 展开Disable Modules Output,看是否Sjolzy_HelloWorld显示出来。
配置路由
路由是用来把一个URL请求转换成一个执行控制器的方法。
需要在magento的全局配置中显式的定义你的路由。
在config.xml(app/core/local/Sjolzy/HelloWorld/etc/config.xml)中:
<config>
...
<!-- /* fontend:指向网站的前台(也可以是admin|install) */ -->
<frontend>
<!-- /* routers:路由对象的定义或路由路径的定义 */ -->
<routers>
<!-- /* helloworld:指向网站的前台 */ -->
<helloworld>
<use>standard</use>
<args>
<!-- /* module:模块名字的小写版本 */ -->
<module>Sjolzy_HelloWorld</module>
<!-- /* fontName:路由过程中的一个参数,只跟路由相关(Front Controller则是用来实例化所有路由) */ -->
<frontName>helloworld</frontName>
</args>
</helloworld>
</routers>
</frontend>
</config>
为路由创建执行控制器
路由会把控制权交给控制器,我们已经定义了路由,现在来定义我们的执行控制器。
app/code/local/Sjolzy/HelloWorld/controllers/IndexAction.php(模块的控制器放在子目录controllers<小写>里,这是magento的规定)
<?php
class Sjolzy_HelloWorld_IndexController extends Mage_Core_Controller_Front_Action{
public function indexAction(){
echo 'Hello World!';
}
}
?>
还是情况缓存,请求URL:http://example.com/helloworld/index/index
注:http://example.com/frontName/执行控制器/执行方法
如果看到空白页面上写着'Hello World!',则你的模块创建成功!
最新文章
- Linux平台oracle 11g单实例 安装部署配置 快速参考
- FastFDS配置安装
- 计算机启动boot
- Android 中Fragment使用
- set_include_path()的用法
- .Net 4.0特性 Tuple元组
- HTML5 history.pushState()和history.replaceState()新增、修改历史记录用法介绍
- JXOJ(基于UOJ)部署日志
- python简明教程代码
- mysql练习----Using Null
- git [command line] fatal: Authentication failed for
- ASP.NET WebApi 基于OAuth2.0实现Token签名认证
- plot与legend画图与图例
- h5内容超出可以滑动展示的处理,iscroll的使用
- vc项目中加载多个lib遇到的问题
- 使用sqoop过程
- Java使用多线程实现Socket多客户端的通信
- 5.UiScrollable API 详细介绍
- 【Graphql实践】使用 Apollo(iOS) 访问 Github 的 Graphql API
- Vue.js插槽slot和作用域插槽slot-scope学习小结
热门文章
- C# Winform 未能加载文件或程序集";System.Data.SQLite";或它的某一个依赖项。试图加载格式不正确的程序
- w3cscholl的在线代码编辑工具2
- 4444: [Scoi2015]国旗计划|贪心|倍增
- (纪录片)数学的故事 The Story of Maths (2008)
- 创建mysql数据库并指定编码
- Android缓存处理
- android中使用SharedPreferences存储数据
- Go语言中Socket通信之Tcp客户端
- PASCAL知识
- SSH小问题:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!