Top > November 20, 2007
予約変数一覧 for Movable Type 4(その2)
MTIf タグ等でアーカイブ種別を判定するための、Movable Type 4 で予め用意された予約変数一覧です。「予約変数一覧 for Movable Type 4(その1)」でまとめたものは変数に"1"が設定されているものですが、今回は、
archive_class
という変数に設定されている文字列をまとめました。
大体お分かりと思いますが、この変数はアーカイブ種別を判定するためのものです。
前回同様、lib/MT/WeblogPublisher.pm に記載されています(使用方法は後述)。
| アーカイブ種別 | 変数名 |
|---|---|
| 年別 | datebased-yearly-archive |
| 月別 | datebased-monthly-archive |
| 週別 | datebased-weekly-archive |
| 日別 | datebased-daily-archive |
| ブログ記事 | entry-archive |
| ウェブページ | page-archive |
| カテゴリ | category-archive |
| 年別カテゴリ | category-yearly-archive |
| 月別カテゴリ | category-monthly-archive |
| 週別カテゴリ | category-weekly-archive |
| 日別カテゴリ | category-daily-archiv |
| ユーザー | author-archive |
| 年別ユーザー | author-yearly-archive |
| 月別ユーザー | author-monthly-archive |
| 週別ユーザー | author-weekly-archive |
| 日別ユーザー | author-daily-archive |
例えば、アーカイブ種別が「月別カテゴリ」であることを判定したい場合は、
<MTIf name="archive_class" eq="category-monthly-archive">
:
</MTIf>
とテンプレート(またはテンプレートモジュール)に書きます。
このタグが書かれたテンプレートやテンプレートモジュールが「月別カテゴリ」として実行される場合、MTIf タグのブロック内部が実行されます。
アーカイブ種別が「ブログ記事」であることを判定したい場合は
<MTIf name="archive_class" eq="entry-archive">
:
</MTIf>
と書きます。このタグが書かれたテンプレートやテンプレートモジュールが「ブログ記事」として実行される場合、MTIf タグのブロック内部が実行されます。
これらを利用すれば、独自の変数を用意する必要はありません。
MTArchiveType との違い
Movable Type では MTArchiveType タグが用意されているので、これを使って判定することも可能ですが、実装がやや面倒です。
例えば、アーカイブ種別が「ブログ記事」であることを判定したい場合は、
<MTSetVarBlock name="archive_type"><$MTArchiveType$></MTSetVarBlock>
<MTIf name="archive_type" eq="Individual">
:
</MTIf>
となります。MTSetVarBlock タグで値を任意の変数 archive_type に設定する分が余分に必要です。
変則的な判定方法
like 属性を用いて、各アーカイブ(日付・カテゴリ・ユーザー)の月別アーカイブだけを取得するには次のように記述します。
<MTIf name="archive_class" like="monthly">
:
</MTIf>
Comments [3]
| Trackbacks [0]
