You are here

page.tpl.php(1)

 

• $head_title:在页面标题中所显示的文本,放在HTML <title></title>标签中。可以使用drupal_get_title()来获取它。
 
• $header: 返回页首区域的HTML,里面包含了该区域中所有区块的HTML。
 
• $help: 帮助文本,大多数用于管理页面。模块可以通过实现hook_help()来填充这个变量。
 
• $is_front: 如果当前显示的为首页的话,返回TRUE。
 
• $language:一个对象,包含了当前站点语言的多个属性。例如,$language->language可能是en,而$language->name可能是English
 
• $layout:这一变量允许你定义不同布局类型的样式,而变量$layout的值则取决于已启用的边栏的数量。包括以下可能值:none, left, right, 和both。
 
• $left:返回左边栏的HTML,包含了该区域中所有区块的HTML。
 
• $logged_in: 当前用户已经登录时,返回TRUE;否则,返回FALSE
 
• $logo: 指向logo图片的路径,可以在已启用主题的配置页面中进行定义。它在Drupal的默认页面模板中,这样使用:
<img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
 
• $messages: 返回消息的HTML,消息通常包括:表单的验证错误消息,表单提交成功的通知消息,以及其它各种消息。它通常显示在页面的顶部。
 
• $mission: 返回站点使命的文本,可在管理界面“管理➤站点配置➤站点信息”中输入.只有当$is_front为TRUE时,这个变量才可以使用。
 
• $node:整个节点对象,当查看一个单独的节点页面时可用。
 
• $primary_links: 一个包含了一级链接的数组。可在“管理➤站点构建➤菜单”中定义它们。通常$primary_links通过函数theme('links')来定制输出的样式,如下所示:
 
<?php
    print theme('links', $primary_links, array('class' => 'links primary-links'))
?>
 
• $right:返回右边栏的HTML,包含了该区域中所有区块的HTML。
 
• $scripts: 返回添加到页面的<script>标签中的HTML。jQuery也是通过它加载进来的(关于jQuery的更多信息,可参看第17章)
 
• $search_box: 返回搜索表单的HTML。如果管理员在已启用主题中的配置页面禁止了搜索的显示,或者禁用了搜索模块,那么$site_slogan为空。
 
• $secondary_links: 一个包含了二级链接的数组。可在“管理➤站点构建➤菜单”中定义它们。通常$secondary_links通过函数theme('links')来定制输出的样式,如下所示:
 
<?php
    print theme('links', $secondary_links, array('class' =>
        'links primary-links'))
?>
 
• $show_blocks: 这是theme('page', $content, $show_blocks, $show_messages)中的参数。它默认为TRUE;当它为FALSE时,用来填充左边栏和右边栏的$blocks变量将被设置为空,这样区块就无法显示了。
 
• $show_messages: 这是theme('page', $content, $show_blocks, $show_messages)中的参数。它默认为TRUE;当它为FALSE时,$messages变量(参看前面的$messages变量)将被设置为空,这样消息就无法显示了。
 
• $site_name: 站点的名称。在“管理➤站点配置➤站点信息”中设置。当管理员在已启用主题的配置页面中禁止显示时,$site_ name为空。
 
• $site_slogan: 站点的标语。在“管理➤站点配置➤站点信息”中设置。当管理员在已启用主题的配置页面中禁止显示时,$site_slogan为空。
 
• $styles:返回页面需要的CSS文件链接的HTML。可以通过drupal_add_css(),将CSS文件添加到变量$styles中去。
 
• $tabs: 返回标签(tab)的HTML,比如节点的View/Edit标签。在Drupal的核心主题中,标签通常位于页面的顶部。
 
• $template_files: 当前显示页面可用的模板文件名字的建议。这些名字没有包含扩展名,例如page-node, page-front。查找这些模板文件时,对于它们的默认顺序,可参看“多个页面模板”一节。
 
• $title:主内容标题,与$head_title不同。当查看一个单独的节点页面时,$title就是节点的标题。当常看Drupal的管理界面时,通常由菜单项来设置$title,菜单项对应于当前查看的页面。(菜单项的更多信息,可参看第4章).
 
警告 即便是你没有在page.tpl.php中使用区域变量($header, $footer, $left,$right,它们仍然会被构建。这是一个性能问题,因为Drupal将构建所有的区块,而只对于特定的页面视图,才将它们扔掉。如果自定义页面模板中不需要区块,除了从模板文件中排除该变量以外,还有一个更好的方式,那就是到区块的管理界面中去,禁止这些区块显示在你的自定义页面中去。关于在特定页面禁用区块的更多信息,可参看第9章。
 老葛的Drupal培训班 Think in Drupal

Drupal版本:

评论

• $search_box: 返回搜索表单的HTML。如果管理员在已启用主题中的配置页面禁止了搜索的显示,或者禁用了搜索模块,那么$search_box为空。

官方勘误:http://www.drupalbook.com/errata2?page=4    Page 188
Error: 

print theme('links', $secondary_links, array('class' => 'links primary-links'))

Correction: 

print theme('links', $secondary_links, array('class' => 'links secondary-links'))

Description of the Error: 

The class set for the secondary links is 'links primary-links', buth should probably be 'links secondary-links'. Thanks to Johan Falk for reporting the error.