步骤:
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!',则你的模块创建成功!

最新文章

  1. Linux平台oracle 11g单实例 安装部署配置 快速参考
  2. FastFDS配置安装
  3. 计算机启动boot
  4. Android 中Fragment使用
  5. set_include_path()的用法
  6. .Net 4.0特性 Tuple元组
  7. HTML5 history.pushState()和history.replaceState()新增、修改历史记录用法介绍
  8. JXOJ(基于UOJ)部署日志
  9. python简明教程代码
  10. mysql练习----Using Null
  11. git [command line] fatal: Authentication failed for
  12. ASP.NET WebApi 基于OAuth2.0实现Token签名认证
  13. plot与legend画图与图例
  14. h5内容超出可以滑动展示的处理,iscroll的使用
  15. vc项目中加载多个lib遇到的问题
  16. 使用sqoop过程
  17. Java使用多线程实现Socket多客户端的通信
  18. 5.UiScrollable API 详细介绍
  19. 【Graphql实践】使用 Apollo(iOS) 访问 Github 的 Graphql API
  20. Vue.js插槽slot和作用域插槽slot-scope学习小结

热门文章

  1. C# Winform 未能加载文件或程序集&quot;System.Data.SQLite&quot;或它的某一个依赖项。试图加载格式不正确的程序
  2. w3cscholl的在线代码编辑工具2
  3. 4444: [Scoi2015]国旗计划|贪心|倍增
  4. (纪录片)数学的故事 The Story of Maths (2008)
  5. 创建mysql数据库并指定编码
  6. Android缓存处理
  7. android中使用SharedPreferences存储数据
  8. Go语言中Socket通信之Tcp客户端
  9. PASCAL知识
  10. SSH小问题:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!