アーカイブ系画面にもメニューを表示
エントリーもだいぶん増えたので、この辺でテンプレートをいじってのカスタマイズに取りかかってみることにします。
デフォルトの Movable Typeのアーカイブ・テンプレートは、メニューのない「1カラム構成」になっています。今はトップページしか検索にヒットしないので問題ないのですが -- ヒットしないのはそれはそれで問題なのですが -- 今後、直接アーカイブページに飛び込むケースが増えてくると、よほど暇なひとで無い限り、他のページを見ようと思ってくれない気がします。これは、営業的にはよろしくありません。(^^;;;;;;
というわけで、やりたいことはいくつかあるのですが、まずはアーカイブ系の画面にも、右にメニューを表示させる変更に取り組むことにします。
変更が必要な場所を把握するために、とりあえずメニューの付いているメインページと、付いていないカテゴリー・アーカイブのテンプレートを比べてみます。
・・・スタイルシートを全ての HTMLで共通に使用するためか、DOMの構造は似ているようです。
詳しく見ると、bodyの classが、"layout-one-column"が "layout-two-column-right"になるのと、id="beta"で区別されるメニュー用の divが有るだけのように見えます。
お、これなら楽勝?と思い、各テンプレートを "layout-two-column-right"対応に変更していきます。
で、再構築。ちゃんとメニューが付いています。めでたしめでたし...
と思いきや、これだけでは、どうやら新規にエントリーを投稿したとき全部再構築しなおさないと、古いアーカイブのメニューが更新されません。OpenBlockSは、ただでさえ遅いのでちょっと許容できない問題です。(でも、だからデフォルトはメニューなしなんでしょうね。ちょっと納得してしまいました)
でも、こんなところで挫折しては技術屋の名折れです。方法を考えます。解決策として、温故知新で SSI(Server Side Include)を併用してみることにしました。
具体的には以下のようにします。
(1) インデックス・テンプレートとしてメニュー部分(div id="beta")だけを切り出したテンプレートを新規に追加する。(menu.htmlとする)
(2) アーカイブ・テンプレートからは SSIの include機能を使用して、最新の menu.htmlをメニューの場所にリクエスト処理時に取り込む。
まず、Apacheの SSI機能を有効にします。
例によって、Debianではインストールされているものの有効にはなっていないので「a2enmod include」で有効にします。
次に、ブログを展開するディレクトリに「Options +Includes」を追加して、SSIを有効にします。
さらに、SSIを使用するファイルの識別を実行ビットで行わせるための「XBitHack full」も追加します。(メニューの更新のためにキャッシュを無効にするのもどうかと思うので、fullを指定して更新日付を扱うようにしています)
Apacheの設定が終わったら、Movable Typeが作成する HTMLで SSIが有効になるように mt-config.cgiのコメントになっている以下の行を有効にします。(これで実行ビットが ONになります)
HTMLUmask 0022
HTMLPerms 0777
最後に、インデックス・テンプレートとしてメニュー部分(div id="beta")だけを切り出したテンプレートを新規に追加し、アーカイブ・テンプレートのメニュー部分を「 <!--#include virtual="/menu.html" -->」で、SSIを使用して読み込むように変更し、終わったら再構築して確認します...
新規エントリーを追加してからでないと、厳密には確認できないですが、仕事でやってるわけではないので、今までのページがちゃんと出れば、とりあえず OKとします。 (^^;;;;;;;;
「Movable Type」の新着
- MT4 のテンプレートをカスタマイズ [ 2007年11月 3日]
- MT4 のスタイルをカスタマイズ [ 2007年10月13日]
- 勢いで上げる MT4 [ 2007年10月 8日]
- Movable Type と MySQL [ 2007年10月 4日]
- スパムと闘う・TB編 [ 2006年4月30日]
- MT3.2-ja-2 MTDate utcバグってますね [ 2006年3月31日]
- Google Sitemapsに登録 [ 2006年3月17日]
- ブログの動線をスムーズに [ 2006年2月28日]
- アーカイブ画面を検索結果風にカスタム [ 2006年2月12日]
- アーカイブ系画面にもメニューを表示 [ 2006年2月 6日]
- MT4iインストール [ 2006年2月 1日]
- オープン前夜 [ 2006年1月29日]
- 探検 MovableType [ 2006年1月26日]
- MovableTypeにとりかかる [ 2006年1月24日]
最近のコメント
森小路による
このブログのアクセス状況は...へのコメント
RxOrcaによる
このブログのアクセス状況は...へのコメント
森小路による
XUL Window初表示へのコメント
最近のコメントを表示...