西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

实例讲解magento基本URL结构解析

时间:2011-08-07 21:40来源:未知 作者:好模板 点击:
实例讲解magento基本URL结构解析

 Magento扩展开发的概念相对统一,名称叫Module. 

从访问入口看,Magento扩展一般有两种展现形式: 
1. 作为一个完整的页面,从浏览器地址栏访问新增的模块。 
2. 作为页面的一个片段,插接到现已存在的网页上。 

下面的例子描述的第一种方式扩展出来的模块。 
案例假设公司名称为Cartz, 现在要为该公司编写一个旅馆预订的模块。

 

 

 

步骤 I: 建立模块 目录及文件结构骨架。 
目录结构

【Magento】
app
- etc/
- modules/
Cartz_Hotel.xml
- code/
  - local/
    - Cartz/
      - Hotel/
        - controllers/ 
          MyController.php
        - etc
          config.xml

 

 

步骤 II: Cartz_Hotel.xml

 

 

 

view plain
  1. <config>  
  2. <modules>  
  3.    <Cartz_Hotel>  
  4.       <active>true</active>  
  5.       <codePool>local</codePool>  
  6.       <version>0.1.0</version>  
  7.    </Cartz_Hotel>  
  8. </modules>  
  9. </config>   

 

 


该文件的目的是让Magento系统载入该模块 。<active>标签为true表示使该模块 生效。注意标<Cartz_Hotel>是命名约定,从而约束了你的代码应该放在app/code/Cartz/Hotel目录下。

步骤 III: MyController.php

 

view plain
  1. <?php  
  2. class Cartz_Hotel_MyController extends Mage_Core_Controller_Front_Action{  
  3. public function helloAction() {  
  4.    echo "My First Module";  
  5. }  
  6. }   


类 名构成: 前缀(Cartz_Hotel)加上文件的名字(IndexController),然后要求扩展基类 Mage_Core_Controller_Front_Action。稍后我们要看看如何调用indexAction方法来输出“My First Module”.

 


步骤 IV: config.xml

 

view plain
  1. <?xml version="1.0"?>  
  2. <config>  
  3. <modules>  
  4. <Cartz_Hotel>  
  5. <version>0.1.0</version>  
  6. </Cartz_Hotel>  
  7. </modules>  
  8. <frontend>  
  9. <routers>  
  10. <hotel>  
  11. <use>standard</use>  
  12. <args>  
  13. <module>Cartz_Hotel</module>  
  14. <frontName>hotel</frontName>  
  15. </args>  
  16. </hotel>  
  17. </routers>  
  18. </frontend>  
  19. </config>   

 

frontend/routers/用来设置使该模块 从前端显示的入口。 
假设Magento在本机安装的访问首页是
http://localhost/magento/index.php, 那么在浏览器地址栏中输入

http://localhost/magento/index.php/ hotel/my/hello

将在页面输入"My First Module"

从而得出Magento模块 url访问的命名规范

http://

<host>/<Magento虚拟目录>/<config.xm中的frontName>/<Controller文件名去掉Controller>/<Controller文件的方法名去掉Action>

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(4)
100%
------分隔线----------------------------
栏目列表
热点内容