Skip to main content

teaser 表示のときにテンプレートの特定部分を無効 (または有効) にする方法

teaser とは、記事の一部分 (通常は冒頭部分) をダイジェスト的に見せる表示形式のこと。
Drupal では、node.tpl.php というテンプレートファイルで、個々の記事 (ノード) を表示する部分のひな型 HTML ソースを定義できる (テンプレートエンジンとしてデフォルトの PHPTemplate を使用している場合)。

この中で $teaser というテンプレート変数を使用すると、現在の表示モードが teaser かどうかを判別し、それに応じてテンプレートの特定部分を有効にしたり無効にしたりできる。

たとえば、こんな感じ。

<?php if ($teaser): ?>

  /* teaser 表示にのみ含めたい部分 */

<?php endif; ?>

<?php if (!$teaser): ?>

  /* ページ表示にのみ含めたい部分 */

<?php endif; ?>

$teaser などのテンプレート変数については、"Building Online Communities With Drupal, phpBB, And WordPress (Expert's Voice in Open Source)" の 5 章に詳しい解説がある。

参考資料
How do I remove things from teasers?
http://drupal.org/node/133236