跳转到主要内容

drupal-theme:按照内容类型设计页面布局

说明:

这篇文章介绍如何根据不同的内容类型(content types)进行页面布局(full page layout)。比如说你想让你的blog和books拥有不同的外观。

步骤:

作为一个示例,下面一步一步演示一下如何为网站的blogs,books和首页(front page)拥有不同的页面布局。

首先:

  1. 复制page.tpl.php文件一份副本,将它重命名为page-default.tpl.php
  2. 再做几次相同的工作,分别将其命名为"page-front.tpl.php", "page-blog.tpl.php" 和 "page-book.tpl.php" 等等
  3. 使用编辑器,修改每一个tpl.php文件,按照你的要求进行修改页面布局
  4. 将修改后的tpl-type.php文件(page-front.tpl.php , page-blog.tpl.php 等等)上传到你正在使用的theme目录下

然后:

  1. 用下面这段代码替换page.tpl.php中的内容
  2. 确保theme内有page-default.tpl.php文件
  3. 上传page.tpl.php文件到你现在正在使用的theme目录内,新的页面而已就会自动生效了

Evance注:

  1. 下面的代码片断可以按照新增加/删减的内容类型进行添加/删除。
  2. page-default.tpl.php文件将会是未指定特定内容类型的布局文件所默认的布局,比如说,按照前期设计要求完成了theme设计。后来可能根据新的需求又增加了新的内容类型,那么它将会使用page-default.tpl.php的布局进行页面组织。

 代码:

{syntaxhighlighter brush:php} <?php /** * This snippet loads up different page-type.tpl.php layout * files automatically. For use in a page.tpl.php file. */ if ($is_front) {/* check if it's the front page */ include 'page-front.tpl.php'; /*load a custom front-page.tpl.php */ return; } if ($node->type == 'book') {/* check if it's a book page */ include 'page-book.tpl.php'; /*load a page-book.tpl.php */ return; } if ($node->type == 'blog') {/* check if it's a blog node */ include 'page-blog.tpl.php'; /*load page-blog.tpl.php */ return; } if ($node->type == 'image') {/* check if it's an image node */ include 'page-image.tpl.php'; /*load page-image.tpl.php */ return; } if ($node->type == 'forum') {/* check if it's a forum node */ include 'page-forum.tpl.php'; /*load page-forum.tpl.php */ return; } include 'page-default.tpl.php'; /*if none of the above applies, load the page-default.tpl.php */ return; ?> {/syntaxhighlighter}

英文原文: Customising the full page layout and sections based on node type

中文原文:  drupal theme:按照内容类型设计页面布局

文章分类
标签