予約変数一覧 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>
- Movable Typeのカテゴリーアーカイブページでブログ全体のブログ記事一覧を表示する
- Movable Type 5.0(MT5.0)以降でアーカイブURLにサブドメインを適用する
- MTArchiveList タグブロック内で使えるテンプレートタグ
- 予約変数一覧 for Movable Type 4.2
- アーカイブページのリストの表示内容が異なる理由
- サイドバーの表示をメインページと同じにする
- 予約変数一覧 for Movable Type 4(その1)
- アーカイブのブログ記事一覧をサイドバーに表示する
- Movable Type 4 のアーカイブリスト表示の仕組みを探る
- アーカイブページに「最近のコメント」「最近のトラックバック」を表示する
いつもありがとうございます。
kenji1020と申します。
movabletype4.01を導入したこともあり、最近は小粋空間さんを見っぱなしです。
勉強になります。
お忙しい中申し訳ございませんが、ご質問させてください。
現在、MTのウェブページをいくつか作成し(例:会社概要・サイトについて・スタッフ紹介など)ようとしている段階なのですが、それぞれ違ったデザイン(テンプレート)にしようとい考えています。
ウェブサイトのアーカイブテンプレートは1つしかないので、作りたいウェブページに合わせて新規に自分でアーカイブテンプレートを作成しようと思いますが、
作成したアーカイブテンプレートを、それぞれウェブページに割り当てていくにはどのようにすれば宜しいでしょうか?
※話は少しそれますが、
現在、カテゴリーページ(2階層目)は、もともとある「ブログ記事リスト」というテンプレートとは別に、「カテゴリーアーカイブ」という名前の自分で作ったテンプレートを使用しています。
こちらの編集画面のアーカイブマッピングに緑のチェックが入っていますが、なぜもともとのブログ記事リストが無視されて、私が作った方が反映されているのかも微妙にわからないのです・・緑のチェックがポイントなのでしょうか?
色々サイトを見ていると、タグや、ファイル名などで指定するという風に書いていたりする所がありましたが、詳しく掲載されていないので困っています。
宜しくお願いいたします。
>kenji1020さん
こんにちは。
ご要望の内容は別途エントリーしたいと思います。
すいませんが少々お時間ください。
また、カテゴリーやウェブページのデザインを切り替えるためにアーカイブを新しく作成するのは避け、ひとつのテンプレート内で(MTIf タグ等で)振り分ける方法をお勧めします。
この辺りの詳細についてはチェック(チェックボックス)の話も含めて別に詳しく紹介したいと思います。
それではよろしくお願い致します。