Movable Typeで複数のブログを持っている場合、ブログの表示に問題があると、同じ修正をすべてのブログに行う必要があります。例えば、本サイトのブログでいえば、#BLOG、IT+、Diaryなど複数のブログがありますが、コメント書き込みのページ(Comment Listing Template)に問題がある場合には、これらのすべてのブログのComment Listing Templateを修正しなければなりません。
このような場合、テンプレートをファイルで管理するようにすれば、先ほどの例のように全ブログのテンプレートを変更する必要はなくなります。
つまり、全ブログのテンプレート(例えば「Comment Listing Template」)を1つのファイル(例えば「cmntlist.txt」)で管理すれば、1つのブログでテンプレート(「Comment Listing Template」)を変更するだけで、実際のテンプレート内容のファイル(「cmntlist.txt」)が書き換わるので、それを参照しているほかのブログのテンプレート(「Comment Listing Template」)も自動的に更新されるのです。
具体的な手順を「Comment Listing Template」を例に解説します。ほかのテンプレートでも手順は同じです。
(1)「Comment Listing Template」のテンプレートの編集を開きます。
(2)「このテンプレートにリンクするファイル」に、完全パスで、サーバー上のファイル パスを指定します。
ファイル パスは自由です。
もし指定したパスにファイルがなければ、そのパスの場所にファイルが自動生成されます。
ファイルを置くフォルダがない場合、どうなるか確認していないのでわかりません。ただし、無用のトラブルを避けるため、フォルダは手動で作っておくか、既存のフォルダを指定した方がよいでしょう。
以下の画面の例では「/home/www/public_html/blog/html_templates/cmntlist.txt」を入力しています。
(3)[保存]ボタンをクリックする
(4)念のため、「テンプレートの中身」をコピーして、ローカル ディスクにファイルとして保存しておきましょう。
すべてのブログのテンプレートで、(1)~(3)の処理を行ってください。
なお、最後に処理したテンプレートの内容がファイルに保存されるので注意してください。
例えば、最後に保存したテンプレートが空だった場合、ファイルの中身も空になってしまいます。
その場合は、(4)で保存しておいた内容を、最後に保存するテンプレートの内容に入力するとよいでしょう。
以上で完了です。
1つのブログのテンプレートを書き換えると、ほかのブログのテンプレートも書き換わるのを確認してください。
この例で示した「Comment Listing Template」はリビルドしなくてよいテンプレートですが、インデックス・テンプレートやアーカイブ・テンプレートの場合はすべてのブログでリビルドが必要になります。このリビルドだけはすべてのブログで個別に行う必要があります。
【TIPS】
テンプレートの種類の1つとして、テンプレート全体ではなく、一部分だけを再利用するための、テンプレート・モジュールというのがあります。[Templateの編集]の一番下の欄です。これを使えば、すべてのページで共通する部分を1つのテンプレートで管理できるようになります。実際、本サイトでは、すべてのページで「上の部分」と「下の部分」が共通しているので、それぞれ「top_layer」と「btm_layer」というテンプレート・モジュールで管理しています。このため、例えば「top_layer」を変更してリビルドするだけで、ブログ全体の「上の部分」を変更できます。
ただしテンプレート・モジュールの弱点は、1つのブログ内でしか再利用できないことです。
しかし、テンプレート・モジュールでも、ほかのテンプレート同様に「このテンプレートにリンクするファイル」の機能を利用することができます。やり方も同じです。つまり、この記事に書いた「ファイルを使ったテンプレートの共有」をテンプレート・モジュールで行うことで、すべてのブログでも再利用できるようになります。私のサイトでは、これは非常に役立ちました。
この「ファイルによるテンプレート共有」は、圧倒的にメンテナンスの手間が減るので、非常にお勧めです。