节点摘要(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版本:

为特定的flexinode类型创建一个drupal主题

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

对于由flexinode创建的节点类型,你给节点类型的命名(也就是展示的节点类型名)与系统内部使用的节点类型名不一样.在系统内部使用的节点类型名为"flexinode-1", "flexinode-2",等等.查看节点类型名的一种方式是,直接查看数据库表“node”的name列。

例如,如果你使用flexinode创建了一个名为"info"的节点类型,如果你查看数据库的话,你就会发现其内部名称为"flexinode-1"。所以,你为"info"创建的模板文件应该命名为"node-flexinode-1.tpl.php"。

 

Drupal版本:

根据drupal节点类型对节点进行主题化

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2008-09-09 13:42

模板文件node.tpl.php适用于所有类型的节点的主题化.这个文件覆盖了所有的节点类型,你可以按照手册的node.tpl.php页面的说明,对这个文件进行修改.为了对单独的节点类型分别进行主题化,你需要在你的主题文件夹下面创建一个node-$type.tpl.php文件,其中$type是节点类型的名称,从而为每种类型按照需要自定义主题.一些例子:

 

drupal CCK节点类型的主题定制

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2008-09-09 01:47

       本文是基于我的实践经验所写,我的客户向我提出了一个要求,如何让CCK定义的节点类型拥有一个他想要的主题外观。当然,有多种方式可以实现这一点:1)仅用CSS(并不是所有情况下都有效);2)使用Contemplate模块,(是不是的会让我挠头);3)一个自定义模块(根据他的情况,也不是一个好办法);4)主题模板。

     随着他的需求的日益明确,我觉得主题模板模板应该是最好的办法。当然,这也是能够传授给他的最简单的方法。

具体要求和环境

       新的节点类型已经用CCK定义好了,当然它还可以更精简一些。节点类型的名字是“agency”。

       这个Drupal站点使用的主题为Garland。

Drupal版本:

为特定节点使用单独的drupal主题模板

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2008-09-09 00:23

如果你想为一个drupal节点使用一个特定的node.tpl.php模板文件的话,你可以将下面的代码拷贝或者合并到你的template.php中:

<?php
function _phptemplate_variables($hook, $vars = array()) {
  switch ($hook) {
    case 'node':
      $vars['template_files'] = array('node-'. $vars['nid']);
      break;
  }
  return $vars;
}
?>

现在,比如对于节点34,你就可以专门为它创建一个主题,名为node-34.tpl.php的模板文件.

Drupal版本:

页面

Subscribe to Think in Drupal RSS