2010-11-27 13 views
0

私はmythemeのtemplate.phpに入れたコードDrupalの6 -----なぜテーマ()を出力することができません

function mytheme_theme(){ 
    return array(
     'mytheme_example' => 'example', 
     'argument' => array('myvar' => null), 
    ); 
    } 

私はnode.tpl.phpに入れたコード

<?php 
$html = ""; 
$myvar = "hello,world"; 
$html .= theme('mytheme_example', myvar); 

    return $html; 
?> 

私はexample.tpl.php

<div> 
    here is the <b><?php print myvar; ?></b>being created. 
    </div> 

に入れたコード私はキャッシュをクリアしているが、ノード記事のページに、世界ハローについての任意の出力があります。

ps:どのファイルにhook_theme、template.php、moduleファイルを使用できますか。このフックを使用できるファイルはありますか?

答えて

0

これは問題ではないと思うので、template.phpでhook_themeを正しく宣言したようです。私はあなたのnode.tpl.phpで構文の問題を発見しました

が、それはすべきではない:

<?php 
    $vars = array('myvar' => 'hello, world'); 
    $html = theme('mytheme_example', $vars); 
    return $html; 
?> 

注連想配列、「MYVAR」(hook_themeで宣言された変数)と、されていますキーとして渡されました。

別の点として、テンプレートファイルにフック名と同じ名前を付けるのが標準的な方法なので、テンプレートmytheme-example.tpl.phpを呼び出すことをお勧めします。

は、より多くの情報

+0

あなたが指摘したエラーを変更しましたが、まだ$ myvarの値を出力できません。 – runeveryday

+0

これは問題だと思うので、関連配列を反映するようにソリューションを更新しました – wiifm

0

あなたはまだその問題を解決した場合、私は知らないためdrupal.orgを参照してください。

私は私のテーマはこのように宣言しようと

function mytheme_theme(){ 
    return array(
     'mytheme_example' => array(
     'arguments' => array('arguments'=>array()), 
     'template' => 'example', 
     ), 
    } 

私は通常行う方法だと、それは私に正常に動作します。

+0

あなたのコードを試しましたが、まだ出力がありません。あなたのコードをあなたのローカル環境でテストしてください。ありがとうございました。 – runeveryday

関連する問題