「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
カテゴリーを並べ替えるプラグイン(MTSubCategoriesタグ専用版)
2007年8月28日
Movable Type 4用のカテゴリー/フォルダの並べ替えプラグインを公開しました。
画面上でカテゴリー/フォルダを並べ替えることができ、使い勝手が大幅に上がっていますので、MT4の方はそちらのプラグインをお使いください。
当Blogでは、Movable Typeのカテゴリー並べ替えのプラグインとして、以下の2つをご提供しています。
これらに加えて、カテゴリー並べ替えのプラグインをさらにもう1つ作りました。
1.概要
今回ご紹介するプラグインは、MTSubCategoriesタグ(または、MTTopLevelCategoriesタグ)でカテゴリー一覧を出力する際にのみ、カテゴリーを好きな順番に並べ替えられるものです。
これまでの2つのプラグインと比べると、以下のメリットがあります。
- カテゴリー名を書き換える必要がない
- カテゴリー名を書き換えないので、出力ファイルも変わらない
- テンプレートの書き換え箇所も少ない(MTSubCategoriesタグ/MTTopLevelCategoriesタグを使っている箇所だけ書き換えればOK)
一方、MTSubCategories(MTTopLevelCategories)タグ以外の箇所では、カテゴリーの並べ替えが行われないというデメリットがあります。
例えば、カテゴリーアーカイブページに「前のカテゴリー」「次のカテゴリー」へのリンクを出力するようにしている場合、その前後のカテゴリーは、従来どおり文字コード順で並べ替えられたものになります。
2.ダウンロード
プラグインは以下からダウンロードします。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ダウンロードしたら、ファイルを解凍します。
ただし、今の時点ではまだアップロードしません。
3.並べ替え方法の設定
解凍したファイルの中に、「lib/SortCategories.pm」というファイルがあります。
このファイルの先頭の方に、以下のような部分があります。
my %sort_order = ( );
個々のカテゴリーについて、「'カテゴリー名' => '連番',」の形式で並べ替えの順序を記述し、それを上述の行の間に入れます。
連番の桁数は統一する必要があります。
例えば、「東京」「大阪」「名古屋」の3つのカテゴリーがあって、この通りの順番で並べ替えたい場合だと、以下のように書きます。
なお、この例のように、後でカテゴリーを追加することを考慮して、連番は飛び飛びの値にしておくことをお勧めします。
my %sort_order = ( '東京' => '010', '大阪' => '020', '名古屋' => '030', );
サブカテゴリーがある場合は、カテゴリーの階層ごとに連番を振るようにします。
例えば、以下のようにカテゴリーを作っているとします。
- 東京
- 新宿
- 渋谷
- 池袋
- 大阪
- 梅田
- 難波
- 天王寺
そして、上の順序の通りにカテゴリーを並べたいとします。
この場合だと、各階層に3桁ずつの連番を振って、以下のようにすると良いでしょう。
my %sort_order = ( '東京' => '010000', '新宿' => '010010', '渋谷' => '010020', '池袋' => '010030', '大阪' => '020000', '梅田' => '020010', '難波' => '020020', '天王寺' => '020030', );
なお、インデックステンプレートを1つ作り、以下をコピーして貼り付けて再構築すると、「'カテゴリー' => '000',」の形式のリストを出力することができます。
出力されたファイルをコピーし、連番部分を書き換えて、SortCategories.pmファイルに入れると良いでしょう。
<MTSubCategories> <MTParentCategories exclude_current="1"> </MTParentCategories>'<MTCategoryLabel encode_php="q">' => '000', <MTSubCatsRecurse></MTSubCategories>
3.ファイルのアップロード
SortCategories.pmファイルの書き換えが終わったら、解凍したときにできた「SortCategories」フォルダを、Movable Typeの「plugins」ディレクトリにアップロードします。
アップロードの際には、SortCategories.pmの文字コードを、Movable Typeの文字コードに合わせる必要があります。
ファイルの配置は以下のようにします。
- [plugins]
- [SortCategories]
- SortCategories.pl
- [lib]
- SortCategories.pm
- [SortCategories]
4.MTSubCategories(MTTopLevelCategories)タグの書き換え
最後に、テンプレートの中で、MTSubCategoriesタグ(またはMTTopLevelCategoriesタグ)に、「sort_method="SortCategories::MySort"」というアトリビュートを付加します。
この後に再構築を行うと、カテゴリーが並べ替えられて出力されます。