magento模板中XML与phtml关系 [一]

本文详细解析了Magento模板文件的组织方式,包括app和skin文件夹的作用,以及如何通过XML和.phtml文件来控制页面结构和样式。重点介绍了如何在.phtml文件中使用XML定义的block,并通过html标签和css类进行页面布局。

模板文件分别存放于app和skin文件夹。app文件夹存放的是模板的结构文件。skin文件夹存放的是模版的css信息,也就是样式文件.
app文件夹下的模板文件夹的结构如下
|_etc
|_layout
|_template


layout文件夹存放的是此模板的.xml文件(也就是模版的结构文件),template是.phtml模板文件。
在layout的任何一个.xml文件中我们可以看到

<block type="page/html_header" name="header" as="header">
<block type="page/template_links" name="top.links" as="topLinks"/>
<block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
<block type="core/text_list" name="top.menu" as="topMenu"/>
<block type="page/html_wrapper" name="top.container" as="topContainer" translate="label">
<label>Page Header</label>
<action method="setElementClass"><value>top-container</value></action>
</block>
</block>
<default><action> <block><reference>等标签,这些都是在控制magento各个页面的结构。
在template中的.phtml文件中我们可以看到
<div class="page">
<?php echo $this->getChildHtml('header') ?>
........

这 样的代码,可以看到html 并且声明一个css的class,这样在.phtml中就是在控制模板的样式。定义了css的class那么在skin的css文件就有用了。 getChildHtml(‘header’)是在输出header这个block也就是说,在.phtml文件中我们对于XML文件中声明好的 block进行输出,想输出在哪个div里面就在哪个div中使用getChildHtml(‘header’),也就是说phtml在对xml定义的结 构进行进一步的细化,并且让css加入到模板的构建中来。
不要迷惑,看下总结
总结:
1. .xml与.phtml同样都在控制模板的结构,但是要先在.xml中声明下,才能在.phtml中使用getChildHtml( )函数输出摸一个结构模块。也就是xml在先,phtml在后。
2. .xml文件与phtml同样控制文件结构,但是phtml中使用html的控制结构标签如<div>,并且可以写上css的类。.phtml就是一个php文件。它对模板的结构使用div等html标签进行更详细的排版,并且引入css修饰样式。

转载于:https://www.cnblogs.com/luoine/archive/2011/06/24/2088572.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值