基本ページのコンテンツタイプに 'field_header'というカスタムフィールドを追加しました。 page.tpl.phpテンプレートのこのフィールドにアクセスするにはどうすればいいですか?理想的には$コンテンツからも削除したいと思います。ありがとう!Drupal 7カスタムフィールドのレンダリング方法
7
A
答えて
10
すべてのページが必ずしもノードページであるわけではないので、node.tpl.php
ではなく、page.tpl.php
でこれにアクセスしようとするとよいでしょう。
node.tpl.php
では、このように特定のフィールドをレンダリングすることができます
echo render($content['field_header']);
hide($content['field_header']); // This line isn't necessary as the field has already been rendered, but I've left it here to show how to hide part of a render array in general.
あなたは絶対にpage.tpl.php
に、あなたはあなたが必要な変数を得るためにあなたのテンプレートファイルに前処理機能を実装する、これを行う必要がある場合:
function mymodule_preproces_page(&$vars) {
if ($node = menu_get_object() && $node->type == 'page') {
$view = node_view($node);
$vars['my_header'] = render($view['field_header']);
}
}
はその後page.tpl.php
で、あなたの完全なレンダリングされたフィールドが含まれる変数$my_header
にアクセスすることができます。あなたは、例えば、フィールド名のために、次のコードを使用する必要があり、あなたのnode.tplで
1
:
<!-- For Showing only custom field's Value Use below code -->
<h2 class="title"><?php print $node->field_header['und']['0']['value'];?></h2>
<!-- ========================= OR ========================= -->
<!-- For Showing custom field Use below code , which shows custom field's value and title-->
<h2 class="title"><?php print render(field_view_field('node', $node, 'field_header')); ?></h2>
<!-- ========================= OR ========================= -->
<h2 class="title"><?php print render($content['field_header']); ?></h2>
0
field_header page.tpl.phpからあなたは$ノードへのアクセス権を持っているし、$ノード
からそうすべてのフィールドprint ($node->body['und']['0']['value']);
関連する問題
- 1. drupalでカスタムフィールドをプログラムでレンダリングする方法7 page.tpl.php?
- 2. drupalのカスタムフィールドのWYSIWYG 7
- 3. Drupal 7カスタムフィールドごとの受注
- 4. レンダリング条件$ region in node.tpl.php - Drupal 7
- 5. 複数のファイルフィールドを持つDrupal 7のカスタムフィールド
- 6. Drupal 7のブロックにカスタムフィールドを追加するには?
- 7. Drupal 7パスの自動パターンでノード参照カスタムフィールドを取得
- 8. Drupal 7:マルチレコードフォームの作成方法は?
- 9. Drupal 7のバックポートDrupal 7 admin-barとoverlay?
- 10. Drupal 7 - オブジェクトの使い方
- 11. drupalでコメントスレッドをレンダリングする方法
- 12. Drupal 7 Views:リンクの再レンダリングに使用する出力のタイプ
- 13. Drupalのカスタムテーマテンプレート7
- 14. のDrupal 7と
- 15. Drupalの7 - プロフィールページ
- 16. Drupalの7
- 17. Drupalのクラスターマップ7
- 18. Drupal 7のビューでカスタムフィールドをソートまたはフィルタリングできません
- 19. 他のコンテンツと一緒にフォームをDrupal 7ブロックにレンダリングする
- 20. Drupal 7のhook_page_buildを使ってモジュールから.tpl.phpをレンダリングする
- 21. Drupalの7のパフォーマンス
- 22. Drupalの7:Ajaxのパワードマルチステップは、Drupalの7において
- 23. Drupal 7カスタムテーマ
- 24. Drupal 7 Adjustable css
- 25. Drupal 7 EntityFieldQuery
- 26. Drupal 7 webform
- 27. Drupal 7 - ブログモジュール - カテゴリー?
- 28. Drupal 7パスワードハッシュ
- 29. Drupal 7 "Panels"
- 30. Drupal 7.install files
ありがとうございました!私はあなたの第二の選択肢を試したので、私は特定の場所に私のヘッダーを配置する必要があったが、私はそれを動作させることができませんでした。幸いにも、最初のオプション(そしていくつかのjQuery)を使用して、私は自分の問題を解決することができました。なぜecho $ vars ['my_header]が私のpage.tpl.phpで動作しなかったのだろうか – martincho
その場合、page.tpl.phpに$ vars [' my_header ']は必要ありません。ちょうど$ my_headerで十分です。 – Jasmo
このシンプルで効果的な答えをありがとう。 – Drake