MovableTypeカスタマイズの日々

仕事でMovableTypeを触っている。

これのカスタマイズはやってみると結構クセがある。基本的には6つほどのテンプレートを好き勝手に弄ってやれば、おおよそ外に見える部分はオリジナルになるようだ。ただ、デフォルトにない要素を足したり、ナビゲーションをちょっと使い易くしたりしようと思うと、これが案外にハマる。運用面での柔軟性を維持しようとすると尚更だ。

カテゴリー機能をメインナビゲーションとして利用するというのはよくあるカスタマイズ例だと思う。デフォルトのままだと月別アーカイブや最近のエントリーといったその他のリスト系リンクと変わらない。これをいかにもボタンらしくしてやって、メインメニューらしく取り繕ってやる。エントリーを巧く分類してやればかなり使い易くなる。

ただ不自由な面もあって、たとえば、デフォルトのままではカテゴリーを任意の順に並べることさえできない。文字コード順に勝手に並んでしまうのである。メニューの順番など気にしないという人はいいけれど、カスタマイズまでしようという人はやっぱりコントロールしたい人が多いんじゃないだろうか。これを解決する方法はもちろんある。

割合古くから使われている方法は裏技とでもいうべきものだ。カテゴリー名を数字にしてしまって任意の順に並べてやり、カテゴリーの説明を登録すべきところに表示したいカテゴリ名を登録してしまうのである。こうすれば数字の大小で任意の順に並べられるし、実際のメニューボタンには説明の文字列を表示してやればいい。

ところが、これだと本来の意味で説明文を使いたいときに困ってしまう。そんなときに便利なのがプラグインである。これはMovableTypeの機能を拡張するための小さなプログラムで、色んなプラグインが無料で公開されている。そのひとつにcutfirstcharというのがあって、これは変数から任意の文字数を消して表示することができる。

どういうことか。つまり「000_日記」というような感じでカテゴリー名を付けておいて、画面に表示するときには頭の4文字を消すというようなことができるわけだ。すると、画面上ではちゃんと「日記」となるし、数字を使って並び順も制御できる。これならカテゴリーの説明を不本意な使い方で潰してしまう心配もない。

ここでもう少しユーザビリティを意識してみる。よくあるのは、閲覧中のカテゴリーのボタンを押せなくして、色を変えてやるというやつだろう。実は、たったこれだけの改造がやってみると意外に手間だったりする。MovableTypeは条件分岐に弱いのである。ぼくが知る限り、これを実現するにはやっぱりプラグインを入れてやる必要がある。

たとえば、カテゴリーリストを出力する際に、閲覧中のカテゴリーと比較して条件分岐してくれるMTIfCategoryというプラグインがある。これを使えば、閲覧中のカテゴリーと一致するときはaタグを書き出し、一致しないときはpタグを書き出すというようなことができる。それぞれCSSでちゃんと定義してやれば見た目を変えるのも簡単である。

また、最近のMovableTypeは、カテゴリーの下にサブカテゴリーを設定することもできる。これを一覧すると、有無をいわさず全カテゴリーのサブカテゴリーが表示されてしまう。数が多いと大変なことになるだろう。これも条件分岐を駆使すれば、閲覧中のカテゴリーと一致するときだけサブカテゴリーを表示し、それ以外は隠すなんてことができる。

ここまでできるとメニューとしてはかなりいい感じである。

そんなことを書きながら、自分のブログはまったくもってデフォルトのままというのが情けない。仕事で毎日ウェブのことばかりやっていると、家ではついついパソコンから遠ざかりがちになる。そのうちになんとかしたいという気持ちだけはあるのだけれど、気力と体力がついてこないのである。というか、そもそもあまり家にいない。

これがよく聞く「趣味=仕事」の弊害というやつだろうか。

related entry - 関連エントリー

trackback - トラックバック

trackback URL > http://lylyco.com/cgi/mt/mt-tb.cgi/199

comment - コメント

コメントを投稿

エントリー検索