拙著「FXはチャートで勝つ!」が発売されました。
FX(外国為替証拠金取引)でのチャートの読み方を解説しています。
自由国民社刊で、定価1,728円(消費税込み)です。
ブログ記事が属するカテゴリをツリー形式で出力するプラグイン(その1)
Movable Typeでは、ブログ記事が属するカテゴリを出力するブロックタグとして、MTEntryCategoriesがあります。
ただ、このタグはカテゴリの階層構造に関係なく、ブログ記事が属するカテゴリを単純に順に出力するだけです。
そこで、MTSubCategoriesタグのように、カテゴリの階層関係を考慮した上で、ブログ記事が属するカテゴリを出力するプラグインを作りました。
今日は、基本的な使い方を解説します。
1.このプラグインでできること
このプラグインは、ブログ記事が属するカテゴリを、MTSubCategoriesタグでのカテゴリ表示と同様に、カテゴリの階層を考慮して表示することができます。
例えば、ブログに以下のようなカテゴリがあるとします。
- 地域
- 東京
- 神奈川
- 埼玉
- 千葉
- 部屋のタイプ
- シングル
- ダブル
- ツイン
- 設備
- 無線LAN
- 大浴場
また、あるブログ記事が、上記の「東京」「シングル」「ダブル」のカテゴリに属しているとします。
このときに、このプラグインを使うと、以下のような出力を得ることができます。
- 地域
- 東京
- 部屋のタイプ
- シングル
- ダブル
また、ブログ記事が属するカテゴリの中で、特定のカテゴリから下の階層のカテゴリだけを、階層を考慮して出力することができます。
例えば、ブログ記事が属するカテゴリの中で、「部屋のタイプ」のカテゴリから下の階層のカテゴリだけを取り出して、以下のように出力することができます。
- シングル
- ダブル
また、特定のカテゴリから下の階層のカテゴリを出力する場合、その「特定のカテゴリ」も含めて出力することもできます。
例えば、ブログ記事が属するカテゴリの中で、「部屋のタイプ」のカテゴリと、その下の階層のカテゴリを取り出して、以下のように出力することができます。
- 部屋のタイプ
- シングル
- ダブル
3.プラグインのインストール
プラグインは以下からダウンロードします。
Movable Type 5.0x用(EntrySubCategories_1_00.zip)
Movable Type 5.1x用(EntrySubCategories_1_10.zip)
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ダウンロードしたファイルを解凍すると、「EntrySubCategories」というフォルダができます。
このフォルダを、Movable Typeの「plugins」ディレクトリにアップロードします。
4.テンプレートタグの書き方の例
ブログ記事が属するすべてのカテゴリを、階層を考慮して出力するには、以下のようにタグを組みます。
<mt:EntryTopLevelCategories> <mt:SubCatIsFirst><ul></mt:SubCatIsFirst> <li><$mt:CategoryLabel$> <$mt:EntrySubCatsRecurse$> </li> <mt:SubCatIsLast></ul></mt:SubCatIsLast> </mt:EntryTopLevelCategories>
ブログ記事が属するカテゴリのうち、特定のカテゴリから下の階層のカテゴリだけを出力するには、上記の<mt:EntryTopLevelCategories>タグを以下のよう変えます。
<mt:EntrySubCategories category="カテゴリ名">
例えば、「部屋のタイプ」カテゴリから下の階層のカテゴリだけを出力したい場合は、<mt:EntryTopLevelCategories>タグを以下のように変えます。
<mt:EntrySubCategories category="部屋のタイプ">
また、特定のカテゴリも含めて、その下の階層のカテゴリを出力するには、<mt:EntryTopLevelCategories>タグを以下のよう変えます。
<mt:EntrySubCategories category="カテゴリ名" include_current="1">
例えば、「部屋のタイプ」カテゴリとその下の階層のカテゴリだけを出力したい場合は、<mt:EntryTopLevelCategories>タグを以下のように変えます。
<mt:EntrySubCategories category="部屋のタイプ" include_current="1">
さらに、拙作のSortCatFldプラグインまたはSuperSortプラグインをインストールしている場合、設定した並び順に沿ってカテゴリを出力することができます。
その場合、MTEntryTopLevelCategories/MTEntrySubCategoriesタグを、それぞれMTEntrySortedTopLevelCategories/MTEntrySortedSubCategoriesに書き換えます。