Movable Type 備忘録

 

 カテゴリを任意の順番に並べ替える

わたしがブログを始めて気に入らないことの1つに、カテゴリを任意の順番に並べられないことです。
これはMovableType(ムーバブルタイプ)でも同じで、いろいろ調べたところ、MovableType(ムーバブルタイプ)では文字コード順にならんでしまうそうなんです。
つか、他のブログでも同じかな

ケース・バイ・ケースですが、カテゴリを任意の順番に並べたい人もいると思います。
ということで、カテゴリを任意の順番に並べ替えるカスタマイズにTRYしてみました。

今回参考にさせてもらったサイトは、The blog of H.Fujimoto様です。

- 2006.05.17 - 追記 -

CutFirstCharプラグインの改良版が公開されています。

具体的には、カテゴリ名の前に番号(半角)を付けて任意の順番に並べ替えています。
ですが、これではかなりかっこ悪いですよね。
わたしはしばらくこれで我慢していました。

そこで、プラグインを使ってカテゴリ名の先頭n文字を削除してから表示させたカスタマイズが H.Fujimoto さんの方法です。

CutFirstCharプラグインの入手はこちらから▼
http://www.h-fj.com/blog/archives/2004/12/19-113315.php

カスタマイズ方法

今回のカスタマイズでは、CutFirstCharプラグインを使います。
このプラグインは、カテゴリ名の先頭からn文字削除を行うことができます。

まず、CutFirstCharプラグインをインストールします。

上記URLにCutFirstCharプラグインのコードが表示されていますので、それをテキストファイルにコピペして、CutFirstChar.pl という名前で保存します。
その際、各自でお使いの文字コードで保存してください。わたしは UTF-8 で保存しました。

保存したファイルをサーバーにアップロードします。
アップロード先は mt/plugins/ ディレクトリにアップロードしてください。

次に、<$MTCategoryLabel>タグを変更します。

CutFirstChar

カテゴリ名を表示する<$MTCategoryLabel>タグのアトリビュートとして、cutfirstchar="n" という形式で指定します。
ここの n には削除したい文字数を指定します。

例えば、左のようにした場合、カテゴリ作成時にカテゴリ名の先頭に半角数字4文字(文字数は任意です)を付けます。
これにより、0000 ~ 0060 というディレクトリが作成されます。

そして、カテゴリ名の表示は以下のように修正します。
また、これはカテゴリ名を表示するすべてのアーカイブで適用します。

<$MTCategoryLabel
cutfirstchar="4"$>

青い字の部分で cutfirstchar 属性に削除したい文字数を指定します。
一通り修正したら保存して再構築します。

以上で、MovableType(ムーバブルタイプ)のカテゴリを任意の順番に並べ替えられました。

SEE YOU♪

 Trackback Pings(0)

No trackbacks found.

 Comments(3)

#1: Posted by かわぐち [RES]

ども、かわぐちです。

私のブログで、最近、本のカテゴリにサブカテゴリをつけて、
表示していたのですが、並び方が・・・・。

って事で、このエントリーを参考に調整しました。
簡単に思った通りになって、ひじょ~に嬉しい今日この頃です。

何故か、「カテゴリを任意の順番に並べ替える2」だと、
うまくいかなかったんです~。

ありがとうございました。

あっ!それと、娘のブログへのコメント、ありがとうございます。
娘にかわり、お礼申し上げます。

#2: Posted by bzbell [RES]

>>1 かわぐち さん

こんにちわ^^

> 私のブログで、最近、本のカテゴリにサブカテゴリをつけて、

そうみたいですね。
最近、書籍の記事が多いなぁ・・・って思ってたんですの (●´∀`●)

> 何故か、「カテゴリを任意の順番に並べ替える2」だと、
> うまくいかなかったんです~。

正規表現版ですか。
あちらは正規表現によるパターンマッチングなので間違えやすいかも、です (; ̄∇ ̄A
でも、かわぐち さんなら問題なさそうに思うのですけど・・・。

#3: Posted by かわぐち [RES]

またまた、お邪魔してます。かわぐちです。

>でも、かわぐち さんなら問題なさそうに思うのですけど・・・。
お恥ずかしい・・・。
私もそ~思ってやってみたんですが・・・。
ん・・・・。

でも、今ので、きちんと表示されてますので、良し(?)としましょう。

 Post a Comment

コメント用フィード