根据当前路径使用不同的drupal页面模板

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2008-09-11 00:45

在Drupal 5.0中, PHPTemplate支持在一个主题下,使用多个页面模板.根据当前的url路径(例如node/1, taxonomy/term/2, 或者user/1),PHPTemplate会按照顺序寻找相应的模板,如果找不到的话,将会采用默认的page.tpl.php模板文件。

 

例如,如果你访问http://www.example.com/node/1/edit,PHPtemplate将按照降序寻找下面的模板:

Drupal版本:

$layout (drupal 5.x) 和 $body_classes (drupal 6.x)

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2008-09-10 13:40

PHPTemplate在page.tpl.php中提供了一个变量,如果你知道怎么使用的话,它将非常强大.

 

Drupal 5 ($layout)

$layout包含一个字符串,用来告诉你页面的布局:

如果用的是左栏的话,则为left

如果用的是右栏的话,则为right

如果左右栏都用的话,则为both

 

Drupal版本:

Page.tpl.php(drupal默认模板)

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2008-09-10 12:41

默认模板

下面是Drupal 5的bluemarine主题的page.tpl.php模板,让你对页面模板文件有个实际的认识。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language ?>" xml:lang="<?php print $language ?>">

节点摘要(teaser)的drupal主题化

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2008-09-10 02:31

你可以在drupal主题的node.tpl.php模板文件中使用下面的条件语句,来为摘要创建一个独特的外观:

<?php
if ($teaser) {
//if node is being displayed as a teaser
//Anything here will show up when the teaser of the post is viewed in your taxonomies or front page
} else {
//all other cases
//Anything here will show up when viewing your post at any other time, e.g. previews
?>

 

Organic Groups小组页面的drupal主题化

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2008-09-10 02:05

我看到很多人发帖询问如何为OG首页定制主题.我自己也想对drupal4.7版本的旧式OG首页进行升级,但是我还不能找到一种像样的方式。文档中(至少我看到的是)看起来仅仅告诉我们如何为实际的group(组)节点类型定制主题(例如node-og.tpl.php),或者在默认的og_ghp_ron主题加点过滤器。这些都不是本文要讨论的。(译者注,这里所讲的首页,是小组的首页,而不是站点的首页,一个站点可以有n多个小组,每个小组有一个自己的首页面)。

 

Drupal版本:

页面

Subscribe to Think in Drupal RSS