« Permalink の本当に“恒久的な”決め方 | メイン | Apple は PC/AV 業界の“新規分野開拓研究所”? »

2004年05月05日

Category を日本語に&順序を思い通りにする

Sky's The Limit: Permalink の本当に“恒久的な”決め方』にも書いたように、やっと Category の設定を固定することができました。

実は現在 v3.0 Beta のテストを始めています。具体的な内容については守秘義務があり詳しくは述べられませんが、要は現バージョン 2.661 でこれを決めておいても問題ない(継承できる)と判断したのでこの時点でフィックスすることにした、ということです(^^;;

Category の設定・分類をどうするか決めるに当たって、考慮したのは次の3点です。すなわち、
1)日本語にするか英語にするか
2)Main Index Template でのカテゴリー表示で並び順をどうするか
3)Category Archive でカテゴリ名がわかりやすいものにしたい
ということです。

日本語?英語? 順序は?

Main Index Template でのカテゴリー表示はこれまで

<div class="sidetitle">
カテゴリ
</div>

<div class="side">
<MTCategories>
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a> [<$MTCategoryCount$> items]<br />
</MTCategories>
</div>
と記載していました。
この場合カテゴリー名を表す <$MTCategoryLabel$> の順番で表示されます。ここに英語でカテゴリを書いた場合、アルファベット順で表示されるわけです。
カテゴリー名に日本語を書くと、Movable Type はそれを自動的に aaa などの文字列に変換し、カテゴリー名とするようです。ですからデフォルトで使用すると日本語カテゴリーのアーカイブは「・・・/cat_aaa.html 」といった一見してなにかわからない名前になってしまいます。

僕は、日付にせよカテゴリー名にせよ、やはり日本語の方がパッと見てわかりやすいと思っているので、カテゴリーも日本語で表示しようと思いました。並び順もできれば自分の思うとおりの順序にしたいです。
そしてカテゴリーアーカイブもある程度見てすぐわかる名前にできたら、と考えました。

MySQL テーブルを見て……

実は最初 MySQL のテーブルを見て、この中の「category_id」を自分で書き直し、これで順序を決められるのではないかと考え、実際にやってみたのです。
ところがシロウトの浅はかさ、まったく表示されなくなってしまったのでした。
<MTCategories>には show_empty というアトリビュートがあり、show_empty="1" と設定することで、そのカテゴリーにエントリがなくてもカテゴリー名を表示させられるのですが、それを設定するとなぜか表示されます(もちろん、<$MTCategoryCount$> items はすべて 0 items となってしまっています)。
いろいろと四苦八苦するも僕の力では解決できず、他の方法を取り入れることにしました。

変更方法

最終的には次のようにしました。
まず順序の決定権のある <$MTCategoryLabel$> には、表示したい順に番号を振り、その次にそのカテゴリの端的な説明を“英語で”続けます。日本語表示は、

●メインメニュー > Sky's The Limit 編集メニュー > カテゴリーの編集

の各カテゴリーごとの『カテゴリーの属性を編集する』>『カテゴリーの説明』のところに記載します。これは<$MTCategoryDescription$> というタグで表されるものです。
具体的には以下の通りです。

MTCategoryLabelMTCategoryDescription
110_blogウェブログ一般
120_movabletypeMovable Type
210_designデザイン一般
220_webdesignWebデザイン・CSS
310_internetIT・インターネット関連
320_mac_pcMacintosh・PC
410_automobilesホンダ・クルマ関係
420_motorsportsモータースポーツ全般
430_formulaoneF1グランプリ
440_motogpMotoGP
510_audiovisualオーディオビジュアル
520_photo写真・カメラ
610_movies映画
620_tvprogramsテレビ番組
710_technologyテクノロジー・科学技術
810_daily日々のくらし
820_newsニュース・社会事象
910_miscその他
920_informationお知らせ
各カテゴリは、同種のものが並ぶように設定してあります。3桁の数字になっているのは、大分類・中分類・小分類、のような意図です。 こうすればもしまた新たにカテゴリーを作ることになり、どこかの間に入れたい場合でも比較的対応が容易です。10ずつ飛んでいますので、たとえば『ホンダ・クルマ関係』からホンダだけ別にしたいと考えても、『クルマ一般』として 410_automobiles、『ホンダ』として 412_honda と設定する、という感じにできます。 実はこの3桁の番号は、最初に MySQL をいじってつけようとしていた番号です。最初の数字(100の位)の振り分けでだいたいどんな分類になっているかおわかりいただけるでしょう。

以上の設定を行い、先ほどの Main Index Template でのカテゴリー表示の部分を

<div class="sidetitle">
カテゴリ
</div>

<div class="side">
<MTCategories>
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryDescription$></a> [<$MTCategoryCount$> items]<br />
</MTCategories>
</div>
とすることにより、日本語で、かつ順番を意図通りに表示させることができます。

Category Archive の設定

これに伴い、Category Archive の設定も変更します。
Individual Entry Archive を変更したのと同様の手順で

●メインメニュー > Sky's The Limit 編集メニュー > 設定

の3番目『アーカイブの設定』のところのアーカイブの種類『Category』(テンプレートは Category Archive)の空欄を書き換えます。
040505_ArchiveSet_cat.gif

僕は以下のように設定しました。

cat/<$MTCategoryLabel$>.php
Sky's The Limit: Permalink の本当に“恒久的な”決め方』で書いた Permalink 設定の考え方同様、これで
http://blog.skys.jp/archives/
の下にまず『cat』というディレクトリができ、そこにたとえば 430_formulaone.php というファイルができることになります。よってこのアーカイブは
http://blog.skys.jp/archives/cat/430_formulaone.php
で表示されます。

また、

●メインメニュー > Sky's The Limit 編集メニュー > テンプレートのリスト > テンプレートの編集

で、『Category Archive』を選び、そのタイトルのところ

<title><$MTBlogName$>: <$MTArchiveTitle$> アーカイブ</title>
<title><$MTBlogName$>: <$MTCategoryDescription$> アーカイブ</title>
に変更します。これを忘れるとウインドウのタイトルに、先に設定した数字+英語のカテゴリーが表示されてしまいます。

投稿者 Shin : 2004年05月05日 03:50

トラックバック

このエントリーのトラックバックURL:
http://skys.jp/mt/mt-tb.cgi/512

このリストは、次のエントリーを参照しています: Category を日本語に&順序を思い通りにする:

» カテゴリー表示の順番を変える。 from NFFBFT . BLOG
どうも、カテゴリー表示に順番が気に入らないので、 思い通りにできるやり方がないかと、調べていたらありました。 Sky's The Limitさんを参考しました。Sky's The Limitさんの説明も丁寧なので、思った以上に簡単似設定ができました。 詳しくは、Sky's The Limitさんを参... [続きを読む]

トラックバック時刻: 2004年05月09日 22:28

» ブログ記事十進分類法? from Asoblog
Movable Typeの話。 カテゴリの表示の順番を変えたかった(「その他・未分類」を一番下にもっていきたかった)ので、いろいろ試行錯誤してみたけどうまくいかず。 仕方なくGoogle検索してみたら、順序を思い通りにする方法を紹介しているページを発見することができました... [続きを読む]

トラックバック時刻: 2004年05月21日 11:22

» PHP化の作業失敗で壊滅していました from A-tak on PC Weblog
17日の夜中からさきほどまで、このサイトのコンテンツがすべて消失していました。 ... [続きを読む]

トラックバック時刻: 2004年09月19日 02:36

コメント

はじめまして。
参考にさせてもらいました。
ありがとうございますっ。

投稿者 ながぬめん : 2004年05月09日 22:14

あぁっ!
ついに初めて、身内以外からコメントが! なんかとってもうれしかったりして。
お役に立ててうれしいです。
そちらも拝見しましたが、シンプルなデザインでいいですねぇ。
実は僕もいまデザイン大改造中なんです。それが完成したら正式公開、と考えていたので、まだ BlogPeople みたいなのにも登録していないし、ほかのサイトに積極的にコメント書いたり、トラックバックしていなかったのでした。

でも、結構うれしいもんだなぁ。

投稿者 Shin : 2004年05月09日 23:29

コメントしてください




保存しますか?