昊天SEO

Drupal主题开发教程 – 使用主题预处理函数为模板添加变量

最近有好几位读者给我发了电子邮件,说自己想学Drupal主题开发,希望我能写一些这方面的文章。好吧,那就满足广大读者的要求,抽空写几篇吧。毕竟读者是博客成功的基础嘛^_^

当大家打开Drupal的模板文件时,可以发现很多PHP变量。在很多时候,模板默认提供的这些变量有可能无法完全满足我们的需求,这时我们就需要为模板文件添加自己的自定义变量了。该怎么做呢?这就要用到Drupal的主题预处理函数了。

下面我举一个Drupal主题预处理函数THEME_preprocess_HOOK(&$variables)的例子,来说明这一问题,例子非常简单,而且没有什么实用价值,主要用于说明解决问题的思路,大家掌握之后可以举一反三。

首先我们在自己主题的文件夹下面创建一个template.php文件,在其中添加下列代码。

function mytheme_preprocess_page(&$variables) {
  $variables['custom_text'] = t('嘿!你好!预处理函数!');
}

下面我来详细解释一下这段代码:在上述代码中函数的mytheme字段是主题的名字;page字段是预处理函数所对应的模板文件去掉扩展名之后的名字,也就是主题钩子的名字,即:指明本函数应用于page.tpl.php模板文件。$variables变量是一个数组,我们为它自定义了一个键custom_text,这个键的名字就是我们所创建的新变量的名字了,即:我们创建的新变量名为——$custom_text。然后,我们为这个变量赋予一个字符串‘嘿!你好!预处理函数!’,作为它的值。

需要特别指出的是:翻译函数t()原则上只能使用英语,我之所以使用汉语,只是为了让大家看起来方便。当大家开发实际Drupal项目时,请务必使用英语。

好了,现在变量已经有了,下面我们就可以在page.tpl.php文件中使用它了。打开page.tpl.php文件,在希望的位置键入如下代码:

print $custom_text;

然后清理缓存,在浏览器中打开网站的页面,你将会发现‘嘿!你好!预处理函数!’这段字符串。如果没有发现,也不要着急,可能是下面两个原因:

  • 你忘记清理缓存了。
  • 在实现预处理函数时,你忘记了参数前的&符号。

本文地址官网    新乡网站建设,seo

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址