You are here

drupal5

内容包括drupal5教程,drupal5汉化,drupal5主题,drupal5模板,drupal5中文手册,drupal5 views,drupa5中文,drupal5安装,drupal5开发,drupal5视频,等

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版本:

drupal首页判断,用$page==0 还是 $is_front?

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

如果你打算使用$is_front来检查当前页面是不是展示的单个节点的话,这里有篇好的帖子(尤其是帖子下面的评论更值得一读),讨论了变量$page和$is_front的不同.

 

只有当你处在drupal站点的首页时,变量$is_front才被设置,也就是为真,而当你处在其它页面时,$is_front为假。对于普通的节点列表页面,比如当你点击一个drupal分类术语后所得到的节点列表页面,在这里$is_front就为假(false)。

 

drupal Comment.tpl.php

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2008-09-08 13:13

定义一个评论区块所输出的HTML.没有对评论进行任何逻辑处理,仅仅用于输出实际的评论.

 

可用变量

$author

链接到作者的个人信息页面.

$comment (object)

评论对象,将传递给theme_comment函数.

$content

链接的内容.

$date

格式化的发布日期.

drupal Box.tpl.php

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2008-09-08 12:53

在一个页面元素周围输出一个简单的html盒子(box).唯一常用的例子是,在drupal的内核中的搜索结果和评论表单中用到了.在评论试图选项周围,就是用的box.tpl.php.

注意,这个模板很少用到,我专职的做过1年的drupal开发,从没有遇到过要修改这个模板的,它仅仅用于Drupal的内核中,除非你需要开发内核,否则你是不会需要修改这个模板的.

 

可用变量

Drupal版本:

页面

Subscribe to RSS - drupal5