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 } ?>

タイプがサービスである2つのノードがあります。どんな助けでも素晴らしいでしょう。ありがとう。

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 に答える