Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Community Solutionコミュニティ・ソリューション

グローバルテンプレートの利用

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 と同じデザインとなっていますが、カスタマイズの利便性のために、モジュール化がされています。テンプレートモジュルを編集することで、比較的簡単に、システム・テンプレート全体をカスタマイズすることができます。