テーマ変数(node.tpl.php)
テンプレート内で動的な内容を表示するためには、変数を用いて <?php print $variable; ?> のように、PHP コードで記述する必要があります。
また、if 条件式などを使うことで、表示内容をコントロールすることも可能です。
node.tpl.php で使用可能な変数と返される内容は以下の通りです。
変数が返す値は、導入しているモジュールや適用している日本語翻ファイルなどの環境によって異なる場合もあるかもしれません。
コンテンツの設定内容や状況を表す変数
返された値をそのまま出力するのではなく、条件分岐のために使用します。
- $page
- 現在のページが、ティーザーリストまたはコンテンツの単一ページのどちらであるかを判定します。
フロントページを含むティーザーリストページの場合、"$page == 0" となります。 - $status
- コンテンツの掲載状況を判定します。
掲載されている場合は "TRUE" を、そうでない場合は "FALSE" を返します。 - $sticky
- コンテンツの掲載状況を判定します。
掲載位置がリスト上部に固定されている場合は "TRUE" を、そうでない場合は "FALSE" を返します。
テンプレート内で内容を出力するために使用される変数
返された値はそのまま出力するだけではなく、条件分岐などにも使用できます。
- $id
- 表示されているコンテンツに割り振られた番号を返します。
最初のコンテンツの番号は "1" で、その後 1 ずつ加算されます。 - $zebra
- 表示されているコンテンツに割り振られた番号が奇数("odd")か偶数("even")かを返します。
- $picture
- [管理セクション] → [テーマ] → [設定] で投稿でのユーザアバターが有効になっている場合に、ユーザアバターの内容を返します。
<div class="picture"> <img src="/files/picture/photo.jpg" alt="○○さんのユーザアバター" title="○○さんのユーザアバター" /> </div> - $title
- コンテンツのタイトルを返します。テキストのみでリンクはありません。
- $node_url
- コンテンツの URL を返します。
URL エイリアスが設定されている場合は、URL エイリアスを返します。 - $content
- コンテンツの内容を返します。
ティーザーリストページではティーザー部分を、コンテンツ単一ページではコンテンツのすべての内容を返します。 - $name
- コンテンツの投稿者名をリンクを含めて返します。
<a href="/user/1" title="ユーザプロフィールの表示">admin</a> - $date
- コンテンツの投稿日時を返します。
- $submitted
- コンテンツの投稿者名および投稿日時を返します。
日付のフォーマットには、日付の表示形式(M) が適用されるようです。
投稿者: <a href="/user/1" title="ユーザプロフィールの表示">admin</a> 投稿日時: 2007-06-17 (日) 00:00 - $terms
- コンテンツが関連付けられているカテゴリの配列($taxonomy)をリストとして返します。
カテゴリにはそのカテゴリを示す class が設定され、さらに最初と最後のカテゴリには、それぞれ "first" "last" の class が割り当てられます。
また、 リンク先のパスに URL エイリアスが設定されている場合は、URL エイリアスがパスとして設定されます。
<ul class="links inline"> <li class="first taxonomy_term_3"><a href="/taxonomy/term/3" rel="tag" title="" class="taxonomy_term_3">ニュース</a></li> <li class="taxonomy_term_11"><a href="/taxonomy/term/11" rel="tag" title="" class="taxonomy_term_11">備忘録</a></li> <li class="last taxonomy_term_17"><a href="/drupal" rel="tag" title="" class="taxonomy_term_17">Drupal</a></li> </ul> - $taxonomy
- コンテンツが関連付けられているカテゴリの配列を返します。
カテゴリに関連付けられているかの判定を行う場合には $terms ではなく $taxonomy を利用します。 - $links
- $node->links の配列の内容をリストとして返します。
それぞれのリストには、内容に応じた class が割り当てられ、さらに最初と最後の項目には、それぞれ "first" "last" の class が割り当てられます。
<ul class="links inline"> <li class="first comment_add"><a href="/comment/reply/7#comment-form" title="このページに新規コメントを追加" class="comment_add">新しいコメントの追加</a></li> <li class="last node_read_more"><a href="/info/7" title="この投稿の全文を読む" class="node_read_more">続きを読む</a></li> </ul> - $node
- $node オブジェクトの内容を返します。
そのまま使用するのではなく、以下のような形式で、必要な内容を取り出して使います。- $node->nid --- コンテンツ ID
- $node->type --- コンテンツタイプ
- $node->created --- コンテンツの投稿日時
改定履歴
[ 2007-06-18 ]
$id および $zebra の 2つの変数を追加しました。
トラックバック
トラックバックは承認後に表示されます。
URLから "-nospam" を削除してトラックバックを送信してください。