Magento中的布局(Layout)包含一小部分的标记集合,作为详细说明关于程序如何建立一个页面,如何建立它的行为和每个构建的区块。最佳的布局途径是在每个角度正确的划分和使用。为了让您能够做到这一点,下面是一些行为特性的布局XML标记。
句柄(Handle)
Handle (图1)是一个标识符,决定应用程序要如何通过嵌套的更新处理它。
如果句柄的名称是<default>,然后应用程序知道在加载网店的几乎所有页面之前应该加载此特定页面布局的嵌套更新(我们说'几乎所有的',因为一些特殊的页面像产品图片弹出窗口就没有加载布局中的<default>句柄)。
如果Magento找到<default>以外的句柄,它将按照指定的句柄中的页面嵌套更新对页面进行处理。例如,<catalog_product_view>包含Product View页面的布局更新,而<catalog_product_compare_index>包含Compare Product 页面的更新布局。句柄作为设计人员设置在网店中的标识符,他不需要广泛的理解 Magento编程,也不应该需要修改。
<block>
Magento通过<block>标记决定页面中的每个区块的行为和视觉表现。在Magento中我们已经提到了两种类型的区块-结构区块(structural blocks)和内容区块(content blocks)。区分这两种区块最好的方式是通过分配给它的标记属性来区分。结构区块通常包含属性'as',通过这个属性值程序可以与指定的区域(由getChildHtml方法指定)中的模板联系。你会发现在默认布局许多地方出现这个'as'属性,因为默认布局的一个性质就是是建立一个实际的布局,在各个不同的页面中的具体布局上就可以开始增加。例如,在默认布局中,有像‘left’、‘right’、‘content’和‘footer’这些结构区块。并不是说这些区块不能存在于正常的布局更新中,但我们为什么不首先在默认布局中建立这些结构区块,然后在后面每个具体的页面基础上添加内容呢?让我们进一步挖掘<block>的现有属性。
-
type – 这是模块类的标识符,它定义了区块的功能。此属性不应该被修改。
-
name – 这是名称,其他的区块可以通过此名称引用此区块(看图3)。
-
before (and) after – 这两种方法决定内容区块在结构区块中的位置。before="-" 和 after="-"这样的命令标志此区块的位置是一个结构区块的最上方或最下方。
-
template - 这个属性指定的值决定了此区块的功能是使用哪个模板。例如,如果这个属性值指定了'de>catalog/category/view.phtmlde>',程序就会载入‘de>app/design/frontend/template/catalog/category/view.phtmlde>’模板文件。要了解布局是如何通过模板执行的,阅读分步指南建设一个主题。
-
action – <action> 是用来控制前台的功能的,如加载或不加载一个JavaScript。一套完整的action方式将很快推出,但此时的最佳的学习途径是了解现有的布局更新上面的不同Action方法。
-
as – 此属性指定模板文件中会调用那个区块。当您在模板中看到getChildHtml(' block_name ')的PHP方法,可以肯定它指的是引用属性'as'的值为' block_name '的区块。 (例如:在骨架模板中的方法<?=$this->getChildHtml('header')?>是调用<block as=“header”>)
<reference>
<reference>是用来引用另一个区块。要引用灵位一个区块,在内部的更新将应用于与其关联的<block>(见图3)。
要使用引用,可以通过区块中的‘name’属性值引用。此属性的指向标签中'name'属性。所以,如果你使用<reference name="right">,响应的区块名称将是<block name="right">。
图3:
分享到:
相关推荐
这些文档可能包括安装指南、后台管理操作、数据库结构解析等内容,对于理解Magento的工作原理非常有帮助。 5. **常用的xml文件的作用** XML文件在Magento中起着核心作用,它们定义了模块结构、布局、配置和主题...
**SYSTEMLOGS**, **DATAFLOW**, **EAVENTITYTYPE**, **EAVATTRIBUTE**:这些表涉及标签管理、系统布局、API接口、目录管理、事件报告、系统日志、数据流控制、实体类型定义和属性定义,共同支持了Magento系统的全面...
### Magento认证工程师考试知识点解析 #### 一、引言 Magento认证工程师考试旨在评估考生对Magento平台的理解与应用能力。为了帮助考生准备考试,官方发布了《Magento®认证开发者考试学习指南》,该指南详细介绍...
布局文件告诉Magento如何组合不同的块来构建整个页面。 - **Helper(助手)**:助手类提供了一些通用功能和工具方法,为模型、控制器、视图等提供辅助支持,使代码更整洁,逻辑更清晰。 了解并掌握Magento的MVC架构...
Magento 的布局系统非常强大,它允许开发者灵活地控制页面的布局和结构。布局是由 XML 文件定义的,这些文件通常位于 `app/design/frontend/base/default/layout/` 目录下。块是布局文件中的基本构建单元,它们可以...
本教程旨在深入解析Magento的模块开发,帮助开发者更好地理解和掌握其核心概念和技术。 一、请求分发与控制器 在Magento中,请求分发是系统处理HTTP请求的核心过程。当用户访问一个URL时,Magento的前端控制器...
Magento 模块的开发涉及到很多方面,包括控制器(controllers)用于处理用户请求,模型(models)处理数据操作,Block(blocks)用于生成页面内容,Helper(helpers)提供辅助功能,以及视图(templates)定义页面...
在`app/design`目录中,你可以找到Magento的模板文件和布局文件,用于自定义商店的前端展示。`app/etc`目录包含了Magento的配置文件,如Mage.php、config.xml等,它们定义了系统设置、模块启用状态以及依赖关系。`...
- **设计和布局初始化**:介绍如何设置和初始化Magento的设计和布局。 - **块模板结构**:讲解了如何组织和创建块模板。 - **数据输出管理**:说明了如何控制和管理输出的数据。 3. **模板和块结构** - **...
Controller 根据 Layout 配置信息使用相应的 Layouts,Layout 是 Magento 的页面布局模板,负责将数据呈现给用户。 步骤 6:Layout 使用 Blocks Layout 使用 Blocks,Blocks 是 Layout 的骨架,负责将数据呈现给...
**渲染流程**:Magento 2的前端渲染流程涉及多个步骤,包括布局解析、块生成、模板渲染等。 **视图元素**:视图元素是用于构建用户界面的基本构建块,包括块、布局、模板等。 **UI组件**:UI组件是Magento 2中用于...
当用户访问一个页面时,Magento会根据请求的URL找到对应的Layout文件,并解析该文件来生成页面布局。 **3.8 输出和getChildHtml方法** Block对象提供了许多方法来帮助输出HTML代码,其中`getChildHtml`方法用于...
8. **清理缓存**:完成上述步骤后,别忘了清理Magento的布局和Block缓存,以便系统能识别新的改动。 通过以上步骤,你将能够在Magento中成功创建一个显示Bestseller产品的自定义页面。这个过程涉及到了Magento的...
### Magento 1.3 PHP Developer's Guide:关键技术知识点解析 #### 一、Magento 1.3简介 **Magento 1.3** 是一款基于PHP的开源电子商务平台,它提供了丰富的功能来帮助开发者构建高质量的在线商店。Magento 1.3在...
《No Frills Magento Layout》是一份专为Magento 2初学者和进阶开发者设计的文档,旨在深入浅出地解析Magento 2的布局系统。在Magento 2中,布局是控制页面元素如何呈现的关键机制,它涉及到Block、Template等多个...
Magento的布局系统涉及到大量的XML解析和递归渲染,这也会导致性能下降。 **解决方案:** 1. **优化布局更新**:尽量减少布局文件中的冗余和复杂性。 2. **使用Block caching**:利用Magento的Block缓存机制,减少...
### Magento Development Cookbook 知识点解析 #### 一、Magento 开发概述 - **Magento**:一款基于PHP的开源电子商务平台,提供了丰富的功能和高度可定制性,适用于各种规模的企业。 - **Magento Development ...
三、模板文件解析 1. **.phtml文件**:这是Magento的视图文件,包含PHP代码和HTML,用于生成动态内容。 2. **.xml文件**:布局文件定义了页面的区域和块,如`catalog.xml`用于控制商品分类页的布局。 3. **.css和....