その他と比べてやや複雑になるのが、サイドバーでよく見かける「新着コメントの一覧」。初期状態では、「投稿者名」「投稿された記事名」「コメントの冒頭部分」が1行で表示されているんですが、これ、非常に見づらい。そのソースがこれ。
テンプレートのカスタマイズ: 2008年4月アーカイブ
月別アーカイブ、別になくてもいいかなーなんて思ってますが、今後いろんなサイト(ブログ)を作っていくことを考えると、やっぱり一度は中身を見てみた方がいいかなと。ということで、初期状態での月別アーカイブはこんな感じ。
中身が単純な新着記事一覧とは異なり、トップカテゴリ、サブカテゴリがある分だけカテゴリの一覧は複雑になります。と言っても、タグの意味を理解していけばOKかと。
検索フォームがカスタマイズできれば、あとはそんなに面倒なことはないはず。ってことで、続いてはサイドバーに設置する新着記事一覧部分。
サイドバーも、メインスペース同様に初期テンプレートのソースを見ながら1個1個つぶしていくことにします。まずは検索フォーム。
メインスペース部分のカスタマイズが終わり、いよいよサイドバーに突入。第一弾はカテゴリ一覧部分のカスタマイズです。
初期状態のテンプレートでは、変数によって2段組、3段組を分岐させて読み込む内容を変更しているようです。で、サイドバーの内容は「ウィジェットセット」の管理ページで、掲載するもの/しないものをマウスのドラッグ&ドロップで選択できる様子。
ヘッダーが出来上がると大分それっぽくなるんですが、ここでホッとせず次の作業へ。今度はメインページにダダダと並んでいる記事の部分です。例によって、初期状態のソースはこちら。
いよいよ具体的なパーツ作りにチャレンジ。まずはブログのヘッダー部分から。何はともあれ、初期状態でどーなってるのか見てみましょう。
HTMLヘッダーのカスタマイズが終わったので、ここからは実際に見える部分をカスタマイズしていきます。(MTというよりHTMLとかCSSとか、そっち方面の話題になっちゃいますが、私がカスタマイズする際の一連の流れということで掲載しちゃいます。)
初期状態のMTテンプレートでは、ヘッダーからフッターまでを「container」というidセレクタがついたDIVタグで内包しています。さらにその内側に複数のDIVタグを内包、それぞれについたセレクタに対応したスタイルシートで、メインスペースだのサイドバーだのがレイアウトされています。
HTMLヘッダーとは、<head>~</head>で囲まれた部分のこと。ここに文字コードの指定、ページのタイトル、METAタグ、スタイルシートへのリンク、配信するRSSへのリンクなどが入ります。(ここでは、1行目に記載するXML宣言からヘッダーということにしちゃいます。)
さて、モジュールが1つのテンプレートにまとまったところで、テンプレートをカスタマイズ(ってゆーか、私の場合、頭から打ち直していくんだけど。)を始めます。
と、その前に。
カスタマイズ前の状態がどんなだったか分からなくなってもアレなので、新たに「旧メインページ」というインデックステンプレートを作成、そこに、これまでのメインページの中身をそっくりコピペしました。で、出力先を「before.php」とでも指定して保存/再構築すれば、旧ページを残したまま新しいメインページをカスタマイズすることができます。
スタイルシートも同様に...と思ったんですが、私の場合、スタイルシートも一から組みなおしていくので、新たなページで使用するスタイルシートは別名で作成することにしました。
これで準備完了。ヘッダー(ソース上ではなく見た目の)から順次つくっていくことにします。
【カスタマイズ方針】
デザインは基本的に変えず、気に食わない部分(変な余白とか広すぎる幅とか余計なdivタグが入れ子になりまくっているソースとか)を修正していきます。
これができれば、どんなものを作ってもOKかと。
モジュール使うのやーめたと思ったとたん、道が開けてきました(笑)
モジュールと聞くとなにやらややこしそう、実際にソースを見てみると変数やらなんやらで実際にややこしい....ということで、メインページテンプレートで読み込まれるヘッダー、記事の概要、フッターの3モジュールを、メインページテンプレートにコピペ。これで1枚のテンプレート上に全てのソースが出揃ったことになります。
モジュール、使い方さえ分かれば管理が楽になるかもしれないんですが、MT4を触り始めて2日目で全てを理解するのは無理。ま、MT3.34と同様にテンプレートによって変更しない共通部分(例えばメニューバーとかコピーライトとか)をモジュール化するというのはありだと思うんですが、それはMT4的モジュールの使い方じゃないですしね。
実際にカスタマイズしたテンプレートを作ってみて、それをバラしていった方が理解も早まるような気がするし、とりあえず最初の段階ではモジュールなしにしてみました。
最初っから初心者用にモジュールなしのテンプレートにしてくれりゃよかったのに...。って、それじゃMT4の良さをアピールできないか。(それが良いところなのかは分かりませんが。)
まずはヘッダーモジュールからカスタマイズしようと思ってソースを見てみたんですが、いきなり面倒なことになってしまいました。。。
モジュールは「mt:setvarblock」というタグから始まってるんですが、これ、シックスアパートのリファレンスに載ってないんですよ。「MTSetVarBlock」ってのならあるんですが、これと一緒ってこと?.....と思って調べていったら、これ、どうやら変数によって書き込む内容を変更させるためのもののよう。
全テンプレート共通のモジュールとは言え、テンプレートごとに吐き出す内容を変えてるってことなんですね。。。。んなら最初からテンプレートに書き込んじゃえよ!みたいな。。。
