4 page.tpl.php

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

page.tpl.php 


Drupal版本:

4.1 一般实用变量:

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

$base_path: Drupal安装的基路径。通常情况下,默认为/。它的值由base_path()生成。

$directory: 模板文件所在的目录,比如modules/system或者themes/bartik它的值由path_to_theme()生成通常把这个变量和$base_path一起使用,来构建模板所在的绝对路径:

<?php print $base_path . $directory ?>

这段代码等价于:

<?php print base_path() . path_to_theme() ?>

$is_front如果当前页面为首页,返回TRUE

$logged_in当前用户是注册用户并且已经登录,返回TRUE;否则,返回FALSE

$is_admin:如果用户有权访问管理界面,返回TRUE;否则,返回FALSE


Drupal版本:

4.2 站点标识变量:

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

$front_page:首页的URL,它包含了语言前缀/域名。它的值由不带参数的url()生成。当链接指向首页时,可以使用这个变量,来替代$base_path

$logo: 指向logo图片的路径,定义在主题的配置中。

$site_name: 站点的名称。当管理员在主题配置中禁止显示时,$site_name为空。

$site_slogan: 站点的口号。当管理员在主题配置中禁止显示时,$site_slogan为空。


Drupal版本:

4.3 导航变量:

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

$main_menu站点主导航菜单链接的数组,如果没有配置,则为空。它在模板文件中这样输出,如下所示:

<?php print theme('links__system_main_menu', array('links' => $main_menu, 'attributes' => array('id' => 'main-menu', 'class' => array('links', 'inline', 'clearfix')), 'heading' => t('Main menu'))); ?>

    通过修改上面的代码,我们可以修改主菜单的IDClass,从而能够更好的控制它的样式输出。

$secondary_menu站点二级导航菜单链接的数组,如果没有配置,则为空。

$breadcrumb当前页面的面包屑。


Drupal版本:

4.4 页面内容变量:

$title_prefix (array):在模板的主标题标签前面显示的内容,注意它是数组结构,在模板中输出时,使用render()输出。

<?php print render($title_prefix); ?>

$title:页面的标题,可用在实际的HTML内容中。它在模板中这样输出:

<?php if ($title): ?><h1 class="title" id="page-title"><?php print $title; ?></h1><?php endif; ?>

   注意,这里面$title已经是现成的html内容了,而$title_prefix此时还是一个数组,它们的输出方式有所不同。在Drupal7的模板中,使用render(),是很普遍的。

$title_suffix (array): 在模板的主标题标签后面显示的内容,注意它是数组结构。

$messages状态消息和错误消息对应的HTML,应该突出显示。

$tabs (array): 当前页面对应的子页面的Tabs链接,例如当显示一个节点时,对应的查看/编辑标签。

$action_links (array): 作用于当前页面的动作,比如菜单管理界面的添加菜单链接。

$feed_icons当前页面的所有种子图标。

$node如果当前页面是一个节点页面,比如node/123,或者是节点的子页面node/123/revisions,这个变量就是对应的自动加载的节点对象。


Drupal版本:

4.5 区域变量:

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

$page['help'] : 动态的帮助文本,主要用于管理界面。


Drupal版本:

4.6 $page不修改Drupal核心代码: 页脚区域对应的条目。

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

很多人,特别是初学Drupal的人,经常会问,模板里面的变量是从哪里蹦出来的。肯定是在别的地方定义了这些变量,所以我们才能在这里引用。这些变量是在下面的函数中定义的:

template_preprocess()

template_process()

template_preprocess_page()

template_process_page()

 

    有兴趣的可以在api.drupal.org查一下这些函数。我们也会在后面的内容中,对这些函数做进一步的介绍。


Drupal版本: