模板

Drupal 模块包中的 CHANGELOG.txt 文件模板

  CHANGELOG.txt 用于记录模块的变更记录,是 Drupal 模块包的一部分。下面提供一个 CHANGELOG.txt 的文件模板,在创建自己的 CHANGELOG.txt 文档时按以下格式编写即可:

 

Image Link 6.x-1.1, 2011-11-01
------------------------------
by Lugir: Changed add link action from 'node_view' stage to 'node_load'.
by Lugir: Fixed can't add links to images which in teaser mode or RSS.

Image Link 6.x-1.0, 2011-10-29
------------------------------
by Lugir: Initial release of ImageLink module.

 

Drupal 主题模板方案(Template Suggestions)与覆写机制的实现和原理简述

  Drupal 在主题制作方面有一套灵活的开发机制,通过使用级联的模板方案(Template Suggestions),使开发人员能够灵活地扩展和使用 Drupal 模板(.tpl.php)文件。本文将结合相关源代码简单介绍此机制的实现方式与用法。

  一个 Drupal 页面的显示可以简单地分为两步,第一步为模板脚本(template.php)准备数据,第二步将模板脚本准备好的数据填充到模板文件(.tpl.php)中。这样一来,模板文件主要用于定义网页的布局,模板脚本则包含生成模板文件中变量的逻辑代码(这样便将业务逻辑层和表示层分离,使得程序员和设计人员可以更好地分工和合作)。

  以节点页面为例,程序员通过 template_preprocess_node() 函数将节点的 $title, $content, $node_url 等数据准备好,设计人员制作 node.tpl.php 模板,并将 $title, $content, $node_url 等变量放置到模板中即可(本文的最后一段源代码的前几行,便是 template_preprocess_node() 函数在为模板文件(.tpl.php)准备变量)。

使用 preprocess 函数处理模板文件中使用的变量

在使用 Drupal 建立网站的过程中,经常需要对页面输出信息进行处理,除了通过编辑 .tpl.php 模版文件对页面布局进行更改,大部分的逻辑代码和 .tpl.php 文件使用的变量,常常都是通过 Preprocess 函数进行设置。

preprocess 函数的主要用途是设置模板文件(.tpl.php)中使用的变量

Preprocess 函数也被称为“预处理器(Preprocessors)”,每个主题化钩子(Theming Hook)可以应用多个预处理器。从里到外依次是内核(Core)、模块(Modules)、模板引擎(Engine) 和主题(Theme),以下是 Drupal 调用预处理器的过程:

Drupal 中如何更改用户登录框(User Login Box)的主题样式

要对 Drupal 的用户登录框样式进行更改,需要执行以下两步

  1. 在模板函数文件 template.php 中新建 MYTHEME_theme() 函数,用于实现登录框的主题化
  2. 新建 user-login-block.tpl.php 模板文件,用于定义登录框的样式(即 HTML 模版)

向 template.php 文件中添加的 MYTHEME_theme() 函数如下: