zoukankan      html  css  js  c++  java
  • 如何创建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!',则你的模块创建成功!

  • 相关阅读:
    增加新分类daily——“每天学了啥?”
    gcc选项中的编译过程
    一个带路径复制的perl脚本
    git
    mysql explain 详解
    CentOS Python2.4升级到Python2.7
    mongoDb查询
    linux php 扩展
    php-redis 扩展安装
    redis Linux的安装方法
  • 原文地址:https://www.cnblogs.com/xingmeng/p/4811547.html
Copyright © 2011-2022 走看看