定义新的区块区域
区域是在Drupal的主题中放置区块的地方。通过Drupal的后台管理接口Administer ➤ Site building ➤Blocks,你可以将区块指定到区域中并管理它们。
尽管你可以创建任何你想要的区域,但是在主题中默认的区域有左栏、右栏、页首、和页尾。一旦声明了区域以后,就可以在你的页面模板文件中(例如,page.tpl.php)将其作为变量使用它们了。例如,对于页首区域,可以使用<?php print $header ?>。通过在你的template.php文件中使用name-of-your-theme_regions()函数,你可以创建其它的区域。
/*
* Declare the available regions implemented by this engine.
*
* @return
* An array of regions. Each array element takes the format:
* variable_name => t('human readable name')
*/
function mytheme_regions() {
return array(
'left' => t('left sidebar'),
'right' => t('right sidebar'),
'content_top' => t('content top'),
'content_bottom' => t('content bottom'),
'header' => t('header'),
'footer' => t('footer')
);
}
为了在你的页面模板中输出“content_top”区域,可使用<?php print $content_top ?>。
Drupal表单的主体化
修改Drupal表单的外观不像创建一个模板文件那样容易,因为Drupal中的表单依赖于它们自己的API。关于表单主体化的具体细节,可参看第10章。
总结
读完本章以后,你应该可以
• 理解主题引擎和主题是什么
• 理解Drupal中PHPTemplate的工作原理
• 创建模板文件
• 覆写主题函数
• 操纵模板变量
• 为区块创建新的页面区域