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

  • 相关阅读:
    SQL 高级查询(层次化查询,递归)
    IntelliJ IDEA添加注释常用的快捷键
    java配置环境变量
    Python单例模式的4种实现方法 ++ redis pool的一种单例实现方式
    MYSQL安装配置文件my-small.ini、my-medium.ini、my-large.ini、my-huge.ini文件的作用
    flask中使用flask-sqlalchemy
    Python向Mysql写入时间类型数据
    [慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时
    Cocos2d-x 3.2 创建新应用
    In-App Purchase Programming Guide----(六) ----Working with Subscriptions
  • 原文地址:https://www.cnblogs.com/xingmeng/p/4811547.html
Copyright © 2011-2022 走看看