Previous month:
2005年9 月
Next month:
2005年11 月

2005年10 月

広報開始

兼ねてから触れておりました、弊社の某展示会用blogの公開を開始しました。spamライクな宣伝の成果もあり、今日一日で100件を超すアクセスを頂きました。ありがたいことです。ご興味ある方はこちらからどうぞ。

次のネタ用に、こんなページも試作中です。例によってスタイルシートと格闘した結果なのですが、ちょっとウインドウのサイズを変えると表示が崩れるという間抜けっぷりです。運がよければきれいに表になって表示されるはずです。

あと、次の次のネタはOpensearch。perl使いの後輩にスクリプトを書いてもらっています。その出来たるや、「なんちゅう、なんちゅうものを書いてくれたんや・・・」と喜びの涙状態です。もうちょっとしたら公開できる見込みです。


なお、ちょっとしたリサーチのため、上の二つのリンク先のURLには ?cyb と入っています。リンク等される際はこの文字列を削除してください。2つ目のURLは近々変更の予定ですので、ご注意ください。


Movable Type サブカテゴリとのたたかい

今日はMovable Typeのサブカテゴリの表示で大ハマリした話。

11月末の展示会用広報blogで使用するMovable Typeの設定作業。今日は主にスタイルシートとテンプレートの調整。
CSSの研修を受けてきてエキスパートな(はずの)後輩にスタイルシートは任せ、こちらは各テンプレートを調整。ロジックとデザインの分離。これこそが21世紀のWeb。すばらしい。

で、こちらも手を入れつつスタイルシートはほぼ完成。しかし、テンプレートが一個所だけ期待通りの動作をしないのです。

Movable Typeのアーカイブ用テンプレートには幾つかあり、

  • カテゴリ毎に記事の一覧を表示するカテゴリ・アーカイブ用テンプレート
  • 各記事を一つずつ表示する個別エントリーアーカイブ用テンプレート
  • 登録日毎に記事の一覧を表示する日付アーカイブ用テンプレート

の3つがデフォルトで用意されています。

今使用している Movable Type 3.171 にはサブカテゴリを作る機能があり、階層的にカテゴリを作成できます。
現在作成中のblogは2カラム(カテゴリ表示などインデックスが左、記事が右)ですが、デフォルトのテンプレートではメインインデックス以外は1カラムで記事のみの表示です。そこで各テンプレートを2ペインにしてみましたが、カテゴリ・アーカイブ用テンプレートだけカテゴリーリストとリンクが表示されません。付属のマニュアルなどで調べてみたが、条件式に従って下位のカテゴリを順次表示していること程度しか読み取れません。他のテンプレートではきちんと表示されているのに。何故。

時間ばかりが過ぎていきます。とりあえず使っているタグをキーにして検索検索。

そして見つけたのがこの記事。小粋空間さんの「カテゴリーアーカイブで全サブカテゴリーリストを表示」というエントリです。この情報をまとめると、

デフォルトで使用されている、カテゴリーの階層構造を作るための MTSubCategories タグは、このタグがある記事から下位のカテゴリーしか表示しない

とのこと。これを回避して、常に最上位からの下位までのカテゴリーを表示するには、MTSubCategories の代わりに MTTopLevelCategories タグを使用すれば実現できると書かれておりました。マニュアルには、

MTTopLevelCategories
MTSubCategoriesのクローン。ただし、カテゴリー階層の最上位で常に開始します。

と書かれています。そうか、これを使えばいいのか。
ということで、早速書き直し。おお、動きました! 感謝です。これで安心して週末が迎えられます。感謝の気持ちを込めてトラックバックを贈らせて頂きます。ありがとうございました。

なお、記述例は以下のような形です。MTTopLevelCategories を使うのがポイントです。

	<div class="menu">
<div id="categories">
<h2>メニュー</h2>
<MTTopLevelCategories include_current="1">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
    <MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>"
       title="<$MTCategoryDescription$>">
    <MTCategoryLabel>
    </a>
    <MTElse>
<li><MTCategoryLabel>
    </MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
</div>
</div>

あとは、Movable Type 3.2 にいつアップデートするかが悩み所です。あと1週間早くリリースしてくれればアップデートして設定したのに。うむ。