お知らせ
2008年3月28日
「これだけは知っておきたい Webアプリケーションの常識」が発売されました。
Webアプリケーションを作る上では、HTTPのプロトコルや、開発言語、データベースなど、さまざまな知識を組み合わせることが必要になります。
それらを全般的にまとめた一冊です。
Webアプリケーション開発にチャレンジしたい方や、実際に開発までしないまでも基礎知識として知っておきたい方にお勧めです。
他にも多数書籍を執筆しています。
こちらもぜひご覧ください。
カテゴリーを並べ替えるプラグイン(MTSubCategoriesタグ専用版)
2007年8月28日
Movable Type 4用のカテゴリー/フォルダの並べ替えプラグインを公開しました。
画面上でカテゴリー/フォルダを並べ替えることができ、使い勝手が大幅に上がっていますので、MT4の方はそちらのプラグインをお使いください。
当Blogでは、Movable Typeのカテゴリー並べ替えのプラグインとして、以下の2つをご提供しています。
これらに加えて、カテゴリー並べ替えのプラグインをさらにもう1つ作りました。
1.概要
今回ご紹介するプラグインは、MTSubCategoriesタグ(または、MTTopLevelCategoriesタグ)でカテゴリー一覧を出力する際にのみ、カテゴリーを好きな順番に並べ替えられるものです。
これまでの2つのプラグインと比べると、以下のメリットがあります。
- カテゴリー名を書き換える必要がない
- カテゴリー名を書き換えないので、出力ファイルも変わらない
- テンプレートの書き換え箇所も少ない(MTSubCategoriesタグ/MTTopLevelCategoriesタグを使っている箇所だけ書き換えればOK)
一方、MTSubCategories(MTTopLevelCategories)タグ以外の箇所では、カテゴリーの並べ替えが行われないというデメリットがあります。
例えば、カテゴリーアーカイブページに「前のカテゴリー」「次のカテゴリー」へのリンクを出力するようにしている場合、その前後のカテゴリーは、従来どおり文字コード順で並べ替えられたものになります。
2.ダウンロード
プラグインは以下からダウンロードします。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
ダウンロードしたら、ファイルを解凍します。
ただし、今の時点ではまだアップロードしません。
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"」というアトリビュートを付加します。
この後に再構築を行うと、カテゴリーが並べ替えられて出力されます。
前後の記事
関連するエントリー(4件)
- カテゴリーの並べ替え・改良版(その3)(2006年04月23日 12:38)
- カテゴリーの並べ替え・改良版(その2)(2006年04月22日 17:04)
- カテゴリーの並べ替え・改良版(その1)(2006年04月21日 22:20)
- カテゴリを任意の順番に並べ替える(2004年12月19日 11:33)
トラックバック(1件)
このブログ記事を参照しているブログ一覧: カテゴリーを並べ替えるプラグイン(MTSubCategoriesタグ専用版)
このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/738.
ブログを運営していると、出てくる問題点の一つがカテゴリーの整理です。 当ブログもその例に漏れず、そろそこカテゴリーが増えてしまいました。(^^ まぁ、増え... 続きを読む


コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
プラグインについてご質問をされる方は、ご自分のBlogのURLを必ず入力してください。
また、プラグインの開発やサポートを継続的に行えるようにするために、ドネーション(寄付)をしていただけると幸いです。
金銭的寄付だけでなく、精神的寄付も歓迎します。
ドネーションのページはこちら
いつもプラグインなどを利用させて頂いて助かっています。
さて、今回上記プラグインを入れて詰まったところが有りました。
その点は解消できたのですが、情報提供ってことで、コメントさせて頂きます。
SortCategories.pmがあると思いますが、初期の文字コードがS-JISになっています。
うちのブログはUTF-8だったので、初期はソートができませんでした。
そこで、SortCategories.pmをUTF-8にするとソートできるようになりました。
プラグインのことはよく分からないのですが、文字コードをブログと合わせないと、そもそも'○○' => '0100'の変換ができないってことですかねぇ。
>Fear ウルフさん
こんにちは。
文字コードの件をご指摘いただき、ありがとうございました。
エントリーにこの件を追加しておきました。
なお、文字コードが違うと、プラグイン上でも違う文字と認識されますので、うまく動作しないことになります。