テンプレートに設定される予約変数

| comment (0) | trackback (0)

各テンプレートには予め用意された「予約変数」が設定されています。
以下に、予約変数一覧を示します。

  ブログ記事 ウェブページ ブログ記事リスト
日別 週別 月別 年別 ユーザー別 ユーザー別 カテゴリ カテゴリ
日別 週別 月別 年別 日別 週別 月別 年別
archive_template
archive_listing    
entry_template                              
entry_archive                              
page_archive                              
page_template                              
feedback_template                            
datebased_only_archive                        
datebased_daily_archive                              
datebased_weekly_archive                              
datebased_monthly_archive                              
datebased_yearly_archive                              
author_archive                              
author_daily_archive                              
author_weekly_archive                              
author_monthly_archive                              
author_yearly_archive                              
category_archive                              
category_daily_archive                              
category_weekly_archive                              
category_monthly_archive                              
category_yearly_archive                              
module_yearly_archives                              
module_category_archives                              
module_author-monthly_archives                            
module_category-monthly_archives                              

それをMTIf タグ等の条件分岐でテンプレートの判をし、動的な処理を行うことができます。

例えば、ブログ記事には entry_template という予約変数に値 "1" が設定されています。
具体的には、MTSetVar タグで、name モディファイアに変数名 "entry_template" が、value モディファイアにその値 "1" が設定されています。

<mt:SetVar name="entry_template" value="1">

これは、name モディファイアで設定した entry_template という変数に 0 以外の値があるという設定を行うことで、現在のページがブログ記事であると判別できるようにする、という仕組みです。

MTIf タグでテンプレートごとに異なる出力する方法を見てみましょう。

アーカイブ種別が「ブログ記事・ウェブページ」であることを判定したい場合、MTIf タグを使って次のように設定します。 テンプレートやテンプレートモジュールが「ブログ記事・ウェブページ」として実行される場合のみ、MTIf タグのブロック内部が実行されます。

<mt:If name="feedback_template">
  <p>このページは、ブログ記事・ウェブページです。</p>
</mt:If>

MTElse タグや MTElseIf タグを使って複雑なテンプレート判定もできます。

<mt:If name="main_index">
  <p>このページは、インデックページです。</p>
<mt:ElseIf name="entry_template">
  <p>このページは、ブログ記事ページです。</p>
<mt:Else>
  <p>このページは、インデックページでもブログ記事でもありませんす。</p>
</mt:If>

trackback (0)

trackback URL: http://gelsol.sub.jp/core/mt-tb.cgi/6

Post your comment