MovableType4で、複数ブログで一つのサイトを運営する場合で、エントリー記事の下部に、ブログごとに異なる広告やら、表示やらをさせるカスタマイズです。
とりあえずやり方は2種類ありますが、まずは、簡単な方のカスタマイズから。
グローバルテンプレートを作成
まずは、エントリーテンプレートを、システムメニュー内のグローバルテンプレートに移します。
グローバルテンプレートで、「テンプレートモジュールを作成」をクリックすると、新規にモジュールテンプレートが作成されますので、先のエントリーテンプレートの内容をそっくりそのままコピーしてはりつけます。
モジュール名は、たとえば、「共通エントリーアーカイブテンプレート」などとつけます。
各ブログのエントリテンプレート
そして、各ブログのエントリーテンプレートへは、グローバルテンプレートをインクルードします。
<$mt:include module="共通エントリーアーカイブテンプレート"$>
※<>は全角なので、半角になおしてください。
グローバルテンプレート:エントリー下
グローバルテンプレートで、「テンプレートモジュールを作成」をクリックして、空のテンプレートを作成します。
たとえば、モジュール名は「エントリー下」。
各ブログテンプレート:エントリー下
各ブログのテンプレートモジュールで、新規にグローバルテンプレートで作ったテンプレート名と同じ、「エントリー下」というテンプレートを作成し、そのブログで表示させたい内容を書き込み、保存します。
これで、再構築すると、各ブログで「エントリー下」というモジュールテンプレートを作ったブログは、そのブログの「エントリー下」テンプレートモジュールが表示され、「エントリー下」テンプレートを作成しなかったブログには、グローバルテンプレートの「エントリー下」テンプレートがインクルードされ、何も表示されません。
グローバルテンプレートと各ブログのテンプレートで同名のテンプレートがあった場合、各ブログのテンプレートが優先されます。
グローバルテンプレートで、空テンプレートを作るのは、各ブログで「エントリー下」テンプレートを作らなかった場合に、再構築エラーになるからです。
カテゴリごとの表示ができない
ここまでが、一つめのカスタマイズ。
しかし、このやり方では、あるブログのあるカテゴリでは、広告1を表示し、別のカテゴリでは広告2を表示したい、ということができません。(たぶん)
各ブログの「エントリー下」テンプレートに、カテゴリによる条件分岐を書いても、うまくいきませんでした。
そこで、2つめの方法を、使うことにします。
それは、次の記事で。
※管理人もスタンダード・プレミアムを利用中!
▼ さくらのレンタルサーバ
コメントする