ヘッダーモジュール使うのやーめた
Posted at 2008/04/03 うか | トラックバック (0) | コメント (0)
まずはヘッダーモジュールからカスタマイズしようと思ってソースを見てみたんですが、いきなり面倒なことになってしまいました。。。
モジュールは「mt:setvarblock」というタグから始まってるんですが、これ、シックスアパートのリファレンスに載ってないんですよ。「MTSetVarBlock」ってのならあるんですが、これと一緒ってこと?.....と思って調べていったら、これ、どうやら変数によって書き込む内容を変更させるためのもののよう。
全テンプレート共通のモジュールとは言え、テンプレートごとに吐き出す内容を変えてるってことなんですね。。。。んなら最初からテンプレートに書き込んじゃえよ!みたいな。。。
各テンプレートでは最初に「MTSetVar」というタグを使って変数を定義しています。例えば、メインページには「<MTSetVar name="main_template" value="1">」というのがあるんですが、これによりメインページに「main_template」という変数を持たせている様子。(value="1"がついて、main_templateという変数の値が1になってる。)
こうすることで、メインページテンプレートでヘッダーモジュールが読み込まれた場合は、モジュール側で「main_templateという変数を持ってたら、ここ、書かなくていいからね。」みたいな命令を出して書き出す内容を変えている、ということみたい。
......。こーゆーこと、ちゃんと説明してくれないと、最初っからやる気なくしちゃうじゃないのさ。。。
テンプレートによって書き出す内容が変わるということは、ヘッダーモジュールからこの部分を削除して、テンプレートごとに見合ったものを直に書き出すようにすれば結果は同じってことですよね。
ってことで、メインページのテンプレートから「<$MTInclude module="ヘッダー"$>」より上の部分を削除、そこにヘッダーモジュールの内容をコピペしてみました。(ただし、変数によって内容が変わるhead部分は書き直しました。)
ま、慣れてきてこの辺の仕組みがよーく分かるようになれば、作業簡略化のためにモジュールを使うというのもアリだと思いますが、MT4で初めてMovable Typeを触るよ!とか、MT3.34から乗り換えました!という場合は、モジュールなんてのは無視してそのままテンプレートをいじってった方がとっつきやすいカモ、です。
あ、こーゆー指定が必要な場合こそ、お金を払ってMovableType作成代行にお願いしちゃえばいいんだな。うん。
【追記】
メインページテンプレート冒頭の
<MTSetVar name="body_class" value="mt-main-index">
<MTSetVar name="main_template" value="1">
<MTSetVar name="main_index" value="1">
<MTSetVar name="sidebar" value="1">
<MTSetVarBlock name="title"><$MTBlogName encode_html="1"$></MTSetVarBlock>
これを削除したら、サイドバーが消えてしまいました(T_T)
(多分「name="sidebar" value="1"」ってのを消したからだと思うんだけど。。。)
全てのモジュールをテンプレートに移し終わるまでは、この部分、消さない方がよさそうです。
トラックバック
この記事へのトラックバックURL:
コメント