グローバルテンプレートの利用
Movable Type コミュニティソリューションでは、ブログごとのテンプレートの他に、管理しているブログ全てで共通利用可能なグローバルテンプレートがあります。Movable Type 上で多数のブログを管理する際に、ブログのデザインを一括で管理することができると便利です。グローバルテンプレートを利用することで、各ブログのデザインを個別に修正するのではなく、共有されたモジュール単位で、まとめてブログのデザインを変更することができます。
グローバルテンプレートの編集
コミュニティソリューションでは、システムモードの操作メニューに、[デザイン] という項目が追加されています。このメニューから、デザイナー権限を持つユーザーは、システム全体で共有されているグローバルテンプレートを編集することができます。システム全体で共有されているグローバルテンプレートには、以下の4種類があります。
- テンプレートモジュール: システム内のブログで、共有されるHTMLとコンテンツを記述します
- システムテンプレート: ログインや登録、プロフィール編集・表示画面などの、システムで共通の画面のテンプレート
- メールテンプレート: Movable Type システムが、管理者やユーザーに送信するメールのテンプレート
- ウィジェット: システム内のブログで、共有されるウィジェットを定義するテンプレート
メールテンプレートのカスタマイズについては、詳しくは「メールをカスタマイズする」を参照してください
グローバルテンプレートのインクルード
グローバルテンプレートを、ブログのテンプレート内で利用するには、通常のテンプレートのインクルードと同じく、MTInclude という MT タグを利用します。
MTInclude タグを利用してテンプレートをインクルードする際に、Movable Type は以下の順番で、インクルードするテンプレートを決定します。
- タグで指定した名前のテンプレートが、そのブログのテンプレートセット内に存在する場合は、そのテンプレートをインクルード
- そのブログのテンプレートセット内に存在しない場合は、グローバルテンプレートから該当する名前のテンプレートをインクルード
- 両方に無い場合は、テンプレートが見つかりません というエラーを表示
利用例
例えば、一つの Movable Type で100個のブログを管理していて、すべてのブログで共通の検索ボックスを、ブログ上に表示したい場合、その検索ボックスの部分を [Search Box] などの名前で、グローバルテンプレートとして作成し、各ブログでそのテンプレート名でインクルードします。
<$MTInclude module="検索ボックス"$>
もし、100個のブログの中の特定のブログだけ、検索ボックスのデザインを変更する必要がある場合は、そのブログのテンプレートセットに、全てのブログで利用できるように、グローバルテンプレートに作成したのと同じ [Search Box] という名前で独自のテンプレートを用意します。それにより、そのブログでは、グローバルテンプレートではなく、ブログのテンプレートセット内に保存されたテンプレートが優先されインクルードされます。この時、[Search Box] テンプレートを読み込むための MTInclude タグの変更は必要ありません。
ログイン、登録画面をカスタマイズする
Movable Type コミュニティソリューションでは、ブログのユーザーや読者が目にする可能性のある、すべてのシステム画面のデザインをカスタマイズすることが可能です。これらのシステムテンプレートは、グローバルテンプレートの、システムテンプレートとして管理されています。システムテンプレートには以下の種類があります。
[画面キャプチャ]- 公開ユーザープロフィール
- プロフィール編集画面
- ログイン
- ユーザー登録
- 登録確認画面
- パスワード復帰画面
- エラー画面
これらのシステムテンプレートは、初期状態では、通常の Movable Type と同じデザインとなっていますが、カスタマイズの利便性のために、モジュール化がされています。テンプレートモジュルを編集することで、比較的簡単に、システムテンプレート全体をカスタマイズすることができます。