MT4カスタマイズに向けて

December 19, 2007 – 9:14 pm

我が家にサーバを立ち上げ、ブログに記事を書き始めてほぼ1ヶ月が過ぎた。エントリーの数も少しずつ増えたところで、そろそろ、MT4をカスタマイズやらねばなるまいという気分になってきた。ご覧になっているとおり、我がブログ、MT4をインストールしたところから、多少、文字の大きさを変えた程度で、殆ど手を加えていない。実は、私、HTMLの基本も余り理解していないブログ初心者である。カスタマイズに向け、とりあえず、Movable Type 4.0の構造がどのようなものか、覗いてみることにした。

まず、第一印象。かなりの程度、モジュール化されているようだ。モジュールは、おおまかに言って、3つの階層に分かれている。それぞれ、勝手に名付けると、(1)テンプレート層、(2)モジュール層、そして(3)ウィジェット層となりそうだ。

まず、テンプレート層。これはhtmlページを吐き出す際の単位と考えて良さそうだ。これには、インデックステンプレートに含まれる「メインテンプレート」、「アーカイブインデックス」、そしてアーカイブテンプレートの「ブログ記事」、「ブログ記事リスト」といったものが対応するのだろう。これらテンプレート層では、まず、<MTSetVar – >なるタグによりパラメータを設定する。それに引き続いて、さまざまなMT独特のタグにより、ブログの中身を書いて行くことになる。その際、第2層のモジュールが<$MTinclude module=”モジュール名”>という形で取り込まれる。MTSetVarで設定されたパラメータの主要な役割は、主に、条件分岐として用いられているようだ。

次に、モジュール層。これには、テンプレート層にあったMTSetVarでパラメータを設定する部分がない。それぞれのモジュールが、取り込まれているテンプレートのMTSetVarで設定されたパラメータが、条件分岐用パラメータとして、このモジュールに含まれるMT文の選別、フィルターとして使われることになる。例えば、テンプレート層に含まれるいずれのモジュールでも、<MTSetVar name=”sidebar”, value=”1”>なる行が含まれている。パラメータsidebarは、モジュールテンプレートのフッターのなかで、

<MTIf name=”sidebar”>
     ここに、Side bar の構成を記述
</MTIf>

というかたちで、用いられている。テンプレート層のモジュールにおいてsidebarパラメータを取り除くと、モジュールテンプレートのフッターのなかに記述されているSide barの構成記述部分が取り込まないということになる。このパラメータ、フィルターの役割を果たしているということであろう。

モジュール層に含まれるモジュールのなかにおいても、<MTInclude module=”モジュール名”>というかたちで、他のモジュールを取り込むことが可能だ。上記したように、「サイドバー」モジュールは「フッタ」モジュールにこの形式で取り込まれるといった具合だ。

最後に、ウィジェット層。これは、直接、テンプレートのなかに、カットアンドペーストでMT文を書き込むことになるのだろう。書き込む位置に注意するくらいで、なんとか取り込み可能と思われる。

全体を通じて、MT4、かなり構造化されていて、初期設定パラメータを変えるだけでも、かなりのことができそうな印象。マニュアルを参照しながら、少しずつ我がブログをカスタマイズして行こう。


Post a Comment