0

template.php の 1 page.tpl.php でフィールド値を取得する必要があります。

page.tpl.php でフィールドを取得する通常の方法は次のとおりです。 $field = field_get_items('node', $node, 'field_name'); $field_name = field_view_value('node', $node, 'field_name', $field[0]);

page.tpl.php は通常、「sites\all\themes\themename\templates」ディレクトリにあります。

template.php ファイルは、「sites\all\themes\themename」ディレクトリにあります。

template.php にある関数で、page.tpl.php のフィールド値を取得する必要があります。

誰かがこれを行う適切な方法を提案したり、これに対する実用的な解決策を教えてくれたりできますか?

4

2 に答える 2

0

関数を追加し、関数hook_preprocess_page(&$var) でノード オブジェクト データを取得し、dsm モジュールを使用してノード オブジェクトとフィールドに到達します。次に、そのフィールドを次のような変数に割り当てます$vars['new_var'] = $your_field

キャッシュをクリアしてテーマ レジストリを再構築し、その変数を page.tpl.php のように出力します。<?php print $new_var; ?>

于 2015-06-12T19:39:58.933 に答える
0

node_load() 関数を使用して、最初に必要なフィールドを含むノードをロードし、そのノードをパラメーターとして渡します。そのためにはノード ID が必要です。これは、ハードコーディングするか、ビューで取得するか、URL、Cookie、セッションなどから収集することができます。

于 2015-06-12T14:03:10.667 に答える