magento文件分析,BLOCK应用

piaoling  2011-05-05 14:17:25

/app/etc - 全局配置文件目录

/app/code - 所有模块安装其模型和控制器的目录

/app/code/core - 核心代码或经过认证得模块,如果要升级不要这里的代码

/app/code/community - 社区版的模块目录

/app/code/local - 定制代码目录

/app/code/core/Mage? - magento默认命名空间

/app/code/core/Mage?/{Module} - 模块根目录

/app/code/core/Mage?/{Module}/etc - 模块的配置文件目录

/app/code/core/Mage?/{Module}/controllers - 模块的控制器

/app/code/core/Mage?/{Module}/Block? - 显示块的逻辑类

/app/code/core/Mage?/{Module}/Model? - 模块的对象模型

/app/code/core/Mage?/{Module}/Model/Mysql4? - 模块的资源模型

/app/code/core/Mage?/{Module}/sql - 模块各个版本的安装和升级用sql

/app/code/core/Mage?/{Module}/sql/{resource}/- 升级是需要的资源模型

/app/code/core/Mage?/{Module}/sql/{resource}/{type}-{action}-{versions}.(sql|php) - 资源升级文件 例如: mysql4-upgrade-0.6.23-0.6.25.sql

/app/design - 设计包目录 (layouts, templates, translations)

/app/design/frontend - 前端的设计

/app/design/adminhtml - 后台管理设计

/app/design/{area}/{package}/{theme} - 定制的主题

/app/design/{area}/{package}/{theme}/layout - 定义显示块的 .xml 文件

/app/design/{area}/{package}/{theme}/template - .phtml (html with php tags)模版

/app/design/{area}/{package}/{theme}/locale - Zend_Translate 兼容的主题用的文字翻译

/app/locale - 本地化文件

/app/locale/{locale (en_US)} - Zend_Translate 兼容的模块用的文字翻译

/skin/{area}/{package}/{theme}/- css和图像

/lib - 公用库

/js - javascripts

/media - 上传文件存放目录

/tests - 测试目录

/var - 临时文件目录 
控制器的开发使用说明。。。。。。

 

 

 

 

 

 

 

 

 

 

Magento扩展开发的概念相对统一,名称叫Module. 从访问入口看,Magento扩展一般有两种展现形式: 1. 作为一个完整的页面,从浏览器地址栏访问新增的模块。 2. 作为页面的一个片段,插接到现已存在的网页上。 下面的例子描述的第一种方式扩展出来的模块。 案例假设公司名称为Cartz, 现在要为该公司编写一个旅馆预订的模块。步骤 I: 建立模块目录及文件结构骨架。 目录结构

代码: 全选
de>【Magento】
       app
          - etc/
              - modules/
                Cartz_Hotel.xml
          - code/
              - local/
                 - Cartz/
                    - Hotel/
                      - controllers                   
                        MyController.php
                      - etc
                        config.xmlde>
步骤 II: Cartz_Hotel.xml
代码: 全选
de><config>   <modules>      <Cartz_Hotel>         <active>true</active>         <codePool>local</codePool>         <version>0.1.0</version>      </Cartz_Hotel>   </modules> </config>de>
该文件的目的是让Magento系统载入该模块。<active>标签为true表示使该模块生效。注意标签<Cartz_Hotel>是命名约定,从而约束了你的代码应该放在app/co
de/Cartz/Hotel目录下。步骤 III: MyController.php
代码: 全选
de><?php class Cartz_Hotel_MyController extends Mage_Core_Controller_Front_Action{     public function helloAction() {       echo "My First Module";     } }de>
类名构成: 前缀(Cartz_Hotel)加上文件的名字(IndexController),然后要求扩展基类 Mage_Core_Controller_Front_Action。 稍后我们要看看如何调用indexAction方法来输出“My First Module”.步骤 IV: config.xml
代码: 全选
de><?xml version="1.0"?> <config>     <modules>         <Cartz_Hotel>             <version>0.1.0</version>         </Cartz_Hotel>     </modules>     <frontend>         <routers>             <hotel>                 <use>standard</use>                 <args>                     <module>Cartz_Hotel</module>                     <frontName>hotel</frontName>                 </args>             </hotel>         </routers>     </frontend> </config>de>
frontend/routers/用来设置使该模块从前端显示的入口。frontName稍后将出现在 url中 假设Magento在本机安装的访问首页是http://localhost/magento/index.php, 那么在浏览器地址栏中输入http://localhost/magento/index.php/hotel/my/hello 将在页面输入"My First Module" 从而得出Magento模块url访问的命名规范
类别 :  magento(258)  |  浏览(3517)  |  评论(0)
发表评论(评论将通过邮件发给作者):

Email: