カテゴリーに日本語を使う方法

Movable Typeは英語圏で作られているため、日本語で使うには、いろいろ面倒が多いのは周知の事実ですが、結構悩ましいのが、カテゴリーの名前に日本語を使うと困ったことになる、というところです。BLOG質問箱には MTCategoryDescriptionを使う方法が紹介されているのですが、このタグを使わないとできないことがあって、困っていました。

ところが、この一ヶ月ほど、よんどころない事情により、改めてMovable Typeをいろいろいじっていたところ、いい解決方法を思いついたので、紹介しておきます。

その方法とは、CategoryIDを使う方法です。カテゴリーのアーカイブファイル名を"cat_<$CategoryID$>.html"に変更します。CategoryIDは数字なので、日本語のカテゴリー名にしても問題ありません。

<p>これだけだと、これからカテゴリーを作る人には便利ですが、すでに作ってしまった人は移行に苦しむような気がするので、移行方法も書いておきます。カテゴリーの名前を日本語に付けかえる前に行ってください。

Archive-Related Templateに新しいテンプレートを追加します。「Category Forwarding」とでも名付けましょう。内容は以下のようにします。

<html>
<head>
<meta http-equiv="refresh" content="0; url=<$MTArchiveLink$>">
</head>
<body>
このページは移動しました。自動的に画面が切りかわらないときには、
<a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a>を
クリックしてください。
</MTEntries>
</body>
</html>

このテンプレートは新しいカテゴリーのファイルへ転送するための設定です。次に、アーカイブの設定で「ADD NEW」を押して新しいアーカイブを追加します。カテゴリーのタイプは「Category Archive」でテンプレートには、いま作った「Category Forwarding」を選んでください。新しいアーカイブが登録されたら、カテゴリーのテンプレートのラジオボタン(丸ポチ)は「Category Archive「(元からある方)を選んでください。「Category Archive」のArchive ファイル名を新しい"cat_<$CategoryID$>.html"にして、新しく作った「Category Forwarding」のファイル名は空欄にしておいてください。

REBUILDを一回したら、アーカイブの設定から、「Category Forwarding」の設定は削除してください。削除したら、カテゴリーの名前を変更しても大丈夫です。

これで完成です。問題はURLの見た目がいまいちなところですが、MTCategoryDescriptionも利用できるようになって、ちょっと幸せです。自分ので試したので問題なく動くと思います。よろしければ、お試しください。