2

我对drupal 很陌生,我需要查询一个表并将该查询的结果作为变量传递给我的page.tpl 文件。我已经尝试了几个小时,但我发现没有任何效果。

template.php 中的 php 代码

<?php
 $result = db_select("SELECT COUNT(node.nid) AS num FROM node WHERE node.type = 'service'");
 foreach ($result as $record) {
    $number = $record->num;
 }
 return $number;

我什至尝试添加一个,echo 'hello world';但也没有出现。

page.tpl 中的代码

 <?php if ($number > 0) { ?>
    testing
 <?php } ?>

有两个类型为服务的节点。任何帮助都会很棒。谢谢。

4

1 回答 1

6

您需要在 template.php 文件中使用挂钩。

例如(将 THEME_NAME 替换为您的主题名称):

function THEME_NAME_preprocess_page(&$vars) {   
    $vars['foo'] = "bar";
}

这会将一个名为“foo”的变量传递给您的 page.tpl.php 文件。

于 2012-07-23T08:36:48.657 回答