drupal Box.tpl.php
在一个页面元素周围输出一个简单的html盒子(box).唯一常用的例子是,在drupal的内核中的搜索结果和评论表单中用到了.在评论试图选项周围,就是用的box.tpl.php.
注意,这个模板很少用到,我专职的做过1年的drupal开发,从没有遇到过要修改这个模板的,它仅仅用于Drupal的内核中,除非你需要开发内核,否则你是不会需要修改这个模板的.
可用变量
在一个页面元素周围输出一个简单的html盒子(box).唯一常用的例子是,在drupal的内核中的搜索结果和评论表单中用到了.在评论试图选项周围,就是用的box.tpl.php.
注意,这个模板很少用到,我专职的做过1年的drupal开发,从没有遇到过要修改这个模板的,它仅仅用于Drupal的内核中,除非你需要开发内核,否则你是不会需要修改这个模板的.
可用变量
注意:在Drupal 5中,这更简单了。只需要像前文所讲的那样就可以了。
方法1
这里所讲的具有一些技巧性,它允许你为特定的区块创建一个单独的block.tpl.php模板。你可以使用区块名称或者区块ID进行控制。下面是一个修改后的block.tpl.php,在前面带了一个条件语句。你所要做的就是编辑module == '[模块名]' 和delta == '[区块名或id]'部分就可以了。
在Drupal5.0中,设计者可以基于特定的区块、区块所属的模块、以及区块所在的区域,为区块创建多个tpl.php文件。
drupal模板文件的查找顺序如下:
我为客户创建过一些drupal站点,站点创建后由客户来维护,我发现客户对于节点、页面、区块这些drupal概念非常困惑,所以我在所有的自定义区块的底部都添加了一个链接“编辑这个区块”,而只有具有区块管理权限的用户才可以看到这个链接(同样,我对page.tpl.php也作了相应的修改,使得只有具有页面管理权限的用户才能看到页面右下角的编辑链接)。
用于输出区块中(页面的左右栏)的内容.这个模板是可选的,通过拷贝默认的模板文件,并修改它,就可以覆写这个模板.
模板可用的变量
$block对象包括:
$block->module
生成该区块的模块的名称.
$block->delta
为了创建一个新的PHPTemplate主题,你需要在你的themes目录下,创建一个新的目录,例如themes/mytheme.接着,你需要在该目录下创建一个名为page.tpl.php的文件.或者你也可以拷贝一个已有主题,仅仅改一下名字.对于Drupal 5,你可以基于Zen 或者Blue breeze来构建自己的主题.
PHPTemplate是由Adrian Rossouw编写的一个drupal主题引擎,Adrian Rossouw还是Drupal 4.5主题改革的幕后推动者。
从Drupal4.7开始, Drupal主题制作者就可以定义任意数量的区域('regions')了,用于内容的展示。这个改进的区域机制,取代了原有的左栏、右栏区域,这使得drupal主题的布局和设计都更加灵活了。
对于那些不是基于主题引擎的主题,可以在.theme文件中使用themename_regions()函数来定义所用的区域。基于引擎的主题,其引擎为其定义了默认的可用区域(定义在.engine文件中),不过它们也可以定义自己的区域。