カテゴリを希望の順序で表示

ブログを構築中のサイトのお客様から電話あり。「カテゴリの順番って変えられませんか?」

このブログは、スタッフをカテゴリで分けていて、スタッフ名のカテゴリにチェックを入れると記事の見出しに自動的にそのスタッフ名が表示されるようにしてあります。

それで、カテゴリを役職順に並べたいところですが、MTのカテゴリはアルファベット順にならんでしまうので、通常管理画面では変更できません。

そこで、検索すると、いいプラグインがありました。

http://www.h-fj.com/blog/archives/2004/12/19-113315.php

カテゴリー名の先頭に番号をつけて、それを表示する際に番号をカットする、という手法です。

まず、cutfirstchar.pl ファイルをダウンロードします。
そのままmtのインストールしてある階層のpluginsディレクトリにアップしていいらしいのですが、他のプラグインはフォルダで囲ってあるので、これも「Cutfirstchar」というフォルダを作ってそこに入れ、それごとアップしました。

次に、カテゴリの編集画面で、表示したいカテゴリ順に連番を振ります。私は一番上から001、002、003・・・としました。

これだけで、希望の順番にカテゴリが並びますが、連番はカッコ悪いので消したい。

で、<$MTCategoryLabel cutfirstchar="桁数"$>と設定してやると、先程のプラグインのおかげで、頭から"桁数"分だけが表示されなくなります。

例として、私は以下のように記述しました。

-----------------------

<h2>カテゴリー</h2>
<mt:TopLevelCategories>
<mt:SubCatIsFirst><ul></mt:SubCatIsFirst>
<li>
<mt:IfNonZero tag="CategoryCount">
<a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel cutfirstchar="3"$>
</a>
<mt:Else>
<$mt:CategoryLabel cutfirstchar="3"$>
</mt:Else>
</mt:IfNonZero>
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast></ul></mt:SubCatIsLast>
</mt:TopLevelCategories>

コメントの投稿

トラックバック

トラックバック:URL http://watase.bz/mt/mt-tb.cgi/72