MT4.2で、SSIの直接記述により、複数ブログのバナーフッターを一挙に変更するカスタマイズ

| コメント(0) | トラックバック(0)

現在のサイト構成

トップページに一つまとめ的なブログがあり、その配下に、サブブログを複数作成している。
さらに、サブドメインにも、一つサブブログがある。

利用サーバー:さくらレンタルサーバスタンダード

現在のテンプレートの状況

グローバルテンプレートに「バナーフッター」というモジュールテンプレートを作成し、それを、それぞれのブログで読み込んでいる。

グローバルテンプレートからインクルードしてのSSI表示だと、全てのブログのバナーを変更するためには、それぞれのブログのインデックステンプレートを再構築する必要があり、手間がかかる。

このカスタマイズの利点

直接SSI構文でバナーフッターをインクルードすることにより、トップブログのインクルード用インデックスファイルを更新するだけで、トップブログ配下のサブブログのバナーフッターの表示を一挙に変更できる。

トップブログ配下のサブブログのカスタマイズ手順

1 まず、バナーフッターを読み込む大元になるブログでSSIインクルード用の「バナーフッター」ファイルを作成

種類:インデックステンプレート
名称:バナーフッターインクルード用
出力ファイル:includes_c/bannerfooter.shtml

2 大元のブログで、モジュールテンプレート「バナーフッター」を作成し、1をインクルード

種類:モジュールテンプレート
名称:バナーフッター(現在、全ブログのバナーフッターは「バナーフッター」というテンプレートでインクルードされているため)
テンプレート内容:<!--#include virtual="/includes_c/bannerfooter.shtml" -->
※<>は、全角で表示しています。
サーバーサイドインクルード:チェックを入れる

3 トップブログを再構築

以降は、「バナーフッターインクルード用」インデックステンプレートを更新するだけで、トップブログの全ページのバナーフッターを一度に変更できる。

4 各ブログでの作業

各サブブログで、モジュールテンプレート「バナーフッター」を作成し、1で作成したファイルをSSIで直接インクルードする。

SSIの相対パスに注意!

種類:モジュールテンプレート
名称:バナーフッター
テンプレート内容:<!--#include virtual="../../includes_c/bannerfooter.shtml" -->
※<>は、全角で表示しています。
サーバーサイドインクルード:チェックを入れる

5 各ブログを再構築して、フッターの表示を確認

6 トップブログのバナーフッターインクルード用ファイルを更新し、各ブログのフッターを確認。変更されていたら、作業終了。

サブドメインがある場合

一つのブログとして機能しているブログ群の中に、サブドメインがあると、ちとやっかいです。

今一つSSIも理解できてないのですが、

サーバ?[トップブログフォルダ]?[includes_c]?[インクルード用ファイル]
サーバ?[サブドメインフォルダ]?[includes_c]?[モジュールテンプレートで作成されるファイル]

という構造の場合、インクルードの書き方を

<!--#include virtual="../../トップブログフォルダ/includes_c/bannerfooter.shtml" -->

にすれば、いいのかな、と思ったのですが、エラーが起きて、うまくいきませんでした。

そこで、下記のとおり、カスタマイズしました。

1 最初に作ったトップブログのバナーフッターインクルード用の内容をグローバルテンプレートに転記。

モジュールテンプレート名例:グローバルバナーフッター

2 トップブログの内容を変更

インデックステンプレートに作成したバナーフッターインクルード用の中身を、

<$mt:include module="グローバルバナーフッター"$>

に変更する。

3 サブドメインブログ

トップドメインブログと作成内容は一緒。

グローバルバナーフッターをインクルードすることで、トップブログと、サブドメインブログでも同じバナーフッターとなる。

トップブログ配下のブログカスタマイズに変更はなし。

4 この場合は、トップブログとサブドメインブログのそれぞれのバナーフッター行くルード用テンプレートの再構築が必要となる。

※管理人もスタンダード・プレミアムを利用中!
▼ さくらのレンタルサーバ

トラックバック(0)

トラックバックURL: http://kodomono.sakura.ne.jp/mt/mt-tb.cgi/950

コメントする

アーカイブ