« 色々水景カスタマイズしてみました。 | メイン | ニューパールグラスキューバsp »

2005年10月18日

カテゴリーを任意の順に並び替える方法

MovableTypeでのカテゴリーの順番はアルファベットおよび数字の順番に勝手にソートされます。
なので自分の希望する順番に並び替えたい時はカスタマイズする必要があります。
私も生体名は生体グループとして順番に並べたかったのでカスタマイズをおこないました。

さらに私の場合は、カテゴリーのうち生体名は「生体」というトップカテゴリーのサブグループとして表示させたかった、つまり「生体」の下に「 L ネオンテトラ」というように置きたかった(右の実際のカテゴリー表示を参照してください)し、それに加えて普通の記事の題名の下にも「ネオンテトラ」というように表示させたかったので、この「 L ネオンテトラ」という記述の前に付けた「 L 」のマークが記事の部分ではじゃまになったので、以下の2つの方法を併用してカスタマイズをおこないました。


写真はこのカスタマイズをおこなった際に書いたメモ。
実にアナログです(笑)

では方法です。

(ものすごく長くなりましたので以下は「続きを読む」内に書きました。
ご興味がある方はご覧くださいませ。
この記事は自分のための覚え書き的側面もあります φ(^ ^)

右の方のカテゴリーの表記については、こちらの「無言さんのつぶやき」さんのサイトを参考にさせていただきました。
MovableTypeの環境設定内のカテゴリーの設定画面でそれぞれの「カテゴリー名」という下に「カテゴリーの説明」という欄があります。

まず、「カテゴリーの説明」というところに表示させたいカテゴリー名、例えば「 L ネオンテトラ」などと入力します。
この「 L 」の部分はサブカテゴリーであるということがわかるようにするために付けてあります。
その他のメインカテゴリーの場合には普通にただ「生体」などというように書きます。

次に、「カテゴリー名」の部分に「101-ネオンテトラ」などと書きます。
この最初の数字の部分がカテゴリーの自動並び替えの時に使用されるので、例えば
「ネオンテトラ」「カージナルテトラ」「グリーンテトラ」
の順に並べたかったらそれぞれのカテゴリー名の部分には
「101-ネオンテトラ」「102-カージナルテトラ」「103-グリーンテトラ」
などというように書きます。
ここの数字は後で追加できるように余裕を持って間を開けて付けておいた方がいいです。
私の場合は100番台は生体、「200-水草」、「300-バイオネタ関連」などと付けてありますので、例えば後で「水草」と「バイオネタ関連」の間にカテゴリー表示を入れたくなったら「250-なんとか」というように付ければいいことになります。
ここで注意しなければいけないのは、私のように別の場所(記事の最初など)にここの「カテゴリー名」を流用したい人は数字の桁数を3桁なら3桁で全部合わせておかなければいけません(後で理由がわかります)。

保存したら次に、環境設定内のテンプレートのメインページ(index.html)の入力画面を開きます。
このファイル中のカテゴリー一覧を表示する部分のプログラムの

<$MTCategoryLabel$>
と書いてある部分を
<$MTCategoryDescription$>
というように書き換えます。
これで、「カテゴリーの説明」の部分に書いた文が実際には表示されるようになります。

普通の方はこれで終了です。

さらに、私の場合のように記事の題名の後にカテゴリーを表記したい方は別の設定も追加する必要があります。
というのは、上の方法をとると、普通のカテゴリーは「生体」というように普通に表示されるのですが、サブカテゴリーは「 L ネオンテトラ」というように不要な「L」マークまで付いてしまうからです。
これを回避する方法はThe blog of H.Fujimotoさんのサイトに書かれてある「cutfirstchar.pl」というpluginを使う方法を使わせてもらいました。
どういうものかというと、最初の数文字を削除してくれるpluginです。

まず、リンク先に書かれてあるソースをコピーし、「cutfirstchar.pl」という名前を付けたテキストファイルを作ります。
それを自分のブログの「plugins」ディレクトリー内に置きます(場所は「mt」フォルダのすぐ下にあります)。

次に、上と同じように、環境設定内のテンプレートのメインページ(index.html)の入力画面を開き

<$MTCategoryLabel$>
の部分(上の方で修正したカテゴリーリストの部分ではなく、他の場所(私の場合は題名の後にすぐ付けるカテゴリー名の部分))を探し、そこの表記を
<$MTCategoryLabel cutfirstchar="4"$>
などと書き換えます。
これは、カテゴリー名の最初の4文字を消して表示することを指定しています。
これによって、カテゴリー名が「101-ネオンテトラ」などと付けていたものが実際の画面上では最初の4文字が消されて「ネオンテトラ」という部分だけが表示されるようになります。

私のようにサブカテゴリーに「L」を付けたりせず、みんな同じように表記している方は上の2種の方法のうち、どちらかだけを使えばよいと思われます。

以上です。
これらを使った際には制作者の「無言さんのつぶやき」さんThe blog of H.Fujimotoさんにお礼のコメントを書きましょう!

最後に、これよりさらにカスタマイズをしたい方はMTCollateというpluginを使った別の方法で細かく設定できるようです。Citatopopsさんのサイト徒波さんのサイトに詳しく書いてありますが、ちょっと難しかったのであきらめて上記の方法を採用しました。

MovableTypeというかブログの世界も奥が深いですね。

投稿者 38brain : 2005年10月18日 04:33

トラックバック

このエントリーのトラックバックURL:
http://www.aquamindlaboratory.com/cgi/mt/mt-tb.cgi/72