私は自分のDBにクエリを実行して、それらの値を変数として返し、それらの変数をカスタムモジュールのカスタムテンプレートに出力しようとしていますが、機能しません。
これを自分のテーマレイヤーに入れると、問題なく動作します。
$name=db_result(db_query('SELECT name FROM {users} WHERE id = %d', 2));
print $name;
クエリを.moduleファイルに保存し、変数をテンプレートに出力するだけです。これまでのところ、私は成功していません。また、私は多くの変数を多くの場所で使用することを計画しているので(表示テーブルのように、または計算の値として)、変数を必要な場所に出力し、$output
や$content
に関連付けない方がよいでしょう。変数。
私は this post を参照しましたが、例を機能させることができませんでした。
私はこれで本当に新しいです。私の情報は、フォーム情報を取得してそれをDBに保存するだけで、元に戻すことはありません。どんな助けにも感謝します。
テーマAPIを使用するには、テンプレートファイル、テーマフック、定義されたテーマの表示の3つの部分が必要です。以下の例はDrupal 7.の場合です。
<?php
// defines the theme hook - should follow the naming format "_theme()"
function mymodule_theme(){
return array(
'example_template1' => array(
'template' => 'mytemplatefile1', // mytemplatefile1.tpl.php
),
'example_template2' => array(
'template' => 'mytemplatefile2', // mytemplatefile2.tpl.php
),
);
}
// in this function is where you would do your DB queries,
// and pass to the theme function as shown
function mymodule_customfunction(){
$calculation = 1+1;
return theme('example_template1', array(
'example_variable1' => $calculation,
'example_variable2' => '123',
));
}
?>
Mytemplatefile1.tpl.phpファイルは次のようになります。
<div class="example-markup"><?php echo $example_variable1; ?></div>
出力を表示するには、次のコマンドを実行するだけで、「example-markup」divにラップされた値が出力されます。
<?php echo mymodule_customfunction(); ?>