block.tpl.php テンプレートファイル
block.tpl.php テンプレートファイルの命名規則とテンプレート内で使用可能なデフォルト変数についてまとめています。
テンプレートの命名規則
テンプレートには、block.tpl.php というベーステンプレートだけでなく、block-user.tpl.php や block-left.tpl.php などのような、特定の場面にのみ適用するためのサジェスチョンテンプレートを作成・使用することができますが、それらのサジェスチョンテンプレートはベーステンプレートと同じディレクトリ内でのみ動作する仕組みになっていますので、テーマ内でサジェスチョンテンプレートを使用したい場合は、同時にベーステンプレートも作成しておく必要があります。
- ベーステンプレート: block.tpl.php
- 命名規則: block-[region|[module|-delta]].tpl.php
- サジェスチョンテンプレートのサンプル
-
- block-left.tpl.php -- "左サイドバー" に表示されるブロック
- block-right.tpl.php -- "右サイドバー" に表示されるブロック
- block-header.tpl.php -- "ヘッダ" に表示されるブロック
- block-footer.tpl.php -- "フッタ" に表示されるブロック
- block-user.tpl.php -- "User" モジュールが提供するブロック
- block-user-0.tpl.php -- "User" モジュールが提供するブロックで、デルタ(モジュールによって割り当てたれたブロックの番号)が "0" のブロック
- "左サイドバー" に表示した "ユーザログイン" ブロックの場合に読み込まれるテンプレートの順序
-
- block-user-0.tpl.php
- block-user.tpl.php
- block-left.tpl.php
- block.tpl.php
テンプレート内で使用可能な変数
デフォルトのテーマ変数は includes/theme.inc 内などで定義されています。
- ブロックの内容を表す変数
-
$block->subject ブロックのタイトルを返します。 $block->content ブロックの内容を返します。 $block->module ブロックを提供しているモジュールの名称を返します。 $block->delta モジュールが提供するブロックの番号を返します。 $block->region ブロックの表示領域名("left" "right" "header" "footer" など)を返します。 - その他の変数
-
$block_zebra それぞれのブロック表示領域ごとに、テンプレートが読み込まれるたびに読み込み回数が偶数回であるか奇数回であるかを判定し、"odd" または "even" を返します。 $zebra テンプレートが読み込まれるたびに読み込み回数が偶数回であるか奇数回であるかを判定し、"odd" または "even" を返します。(すべてのブロックの通し番号をもとに計算されます。) $block_id それぞれのブロック表示領域ごとに、1から始まり、テンプレートが読み込まれるたびに 1ずつ加算される数値を返します。 $id 1から始まり、テンプレートが読み込まれるたびに 1ずつ加算される数値を返します。(すべてのブロックの通し番号になります。) $is_front 表示しているページがフロントページである場合、"TRUE" を返します。 $logged_in 閲覧しているユーザがログインユーザである場合、"TRUE" を返します。 $is_admin 閲覧しているユーザがサイトの管理者である場合、"TRUE" を返します。
このページで使用している「サジェスチョンテンプレート」というのは、drupal.org のドキュメント内に記載されている "Template suggestions" を意訳して作成した名称です。

