drupal PHPTemplate中的区域
从Drupal 4.7开始,主题可以实现任意数量的区域,用于区块或者其它内容的显示。你可以到Drupal的区块管理页面(admin/build/block)看一下,你将看到,实际上区域本质上就是一个容器,你可以向里面添加区块。你也可以使用PHP向区域中添加非区块内容。什么是区域呢,一个比较好的例子就是边栏。
这些区域可以用于整个页面,或者其它的主题元素中,比如接电或者评论。
从Drupal 4.7开始,主题可以实现任意数量的区域,用于区块或者其它内容的显示。你可以到Drupal的区块管理页面(admin/build/block)看一下,你将看到,实际上区域本质上就是一个容器,你可以向里面添加区块。你也可以使用PHP向区域中添加非区块内容。什么是区域呢,一个比较好的例子就是边栏。
这些区域可以用于整个页面,或者其它的主题元素中,比如接电或者评论。
drupal主要是面对国外客户的,但是随着国内需求的增多,有不少国内的客户,包括公司和个人,他们也想使用drupal来建立自己的网站,这种增多的趋势在明显的加快。
但是就目前的状况来讲,在中国使用drupal建站,并不具有太多的优势:
1, 首先是drupal从业人员较少,而且集中于比较大的城市,面对的客户也是海外的。从业环境也大多数处于外包公司中。
2, drupal建站的价格比较高,由于客户主要是国外的,所以价格是由国外的客户决定的,在国内,具有经验的drupal开发人员,即便是私活,报价很多也都在400元以上。
可以在你的template.php文件中修改一个模板的“模板建议”("template suggestions")列表。下面的代码片断,将根据当前页面的URL别名来添加页面模板建议。这样你就可以为'music'路径或者目录下面的页面定义一个page-music.tpl.php模板文件了。
Drupal 5版本:
可以在你的template.php文件中修改一个模板的“模板建议”("template suggestions")列表。下面的代码片断,将根据当前页面的节点类型来添加页面模板建议。这样,你就可以为节点类型为新闻(news)的页面定义一个模板page-nodetype-news.tpl.php。
Drupal 5包含了一个非常有用的机制,可以为不同的页面、区块、节点等提供不同的模板。例如,你可以为'blog'节点类型添加一个模板node-blog.tpl.php,从而取代默认的node.tpl.php模板。对于页面模板,就更加方便了,所以你可以为特定节点创建特定的模板,可参看基于当前路径适用不同的页面模板一文。
通过_phptemplate_variables()函数,还可以编辑可能的"template suggestions"(模板建议)列表。例如,下面的代码片断就基于URL别名创建了额外的“suggestions”(建议)。这比使用内部Drupal路径的方法更强大。
下面的代码片断,用来检查当前节点是否匹配一个主菜单链接.这段代码假定主菜单链接的格式为'/somepage'.
这个代码将为你drupal站点上的每个页面的<body>标签生成一个类(class)和id。
在你主题的页面模板文件(page.tpl.php)中,将已存在的<body>标签替换为下面的代码:
<body<?php print phptemplate_body_attributes($is_front, $layout); ?>>
并在你主题的template.php文件中添加下面的代码: