「このテンプレートにリンクするファイル」の使い方 for Movable Type
Movable Type のテンプレート編集画面を開くと、下に示すスクリーンショット赤枠の「このテンプレートにリンクするファイル」がありますが、このフィールドについての利用方法をご存知ない方が少なくないのではないでしょうか。

このフィールドはオーサリング・ツールを利用する方、あるいはテンプレートをカスタマイズする方にとってはかなり役に立つ機能を有しています。
ということで、本エントリーではこの「このテンプレートにリンクするファイル」の使い方を紹介します。
1.外部ファイルを Movable Type と同期させる
このフィールドの本来的な使い方は、Dreamweaver、GoLive等のオーサリング・ツールで作成したテンプレートを Movable Type の再構築あるいはテンプレート編集と同期させることです。オーサリング・ツールで作成したテンプレートは編集画面のテキストエリアにペーストするのではなく、このフィールドに外部ファイル名として指定するだけで自動的に読み込ませることができます。
以下、「このテンプレートにリンクするファイル」を設定されたファイルを、便宜上「リンクファイル」と記します。
例えば、作成したテンプレートを下記のようにリンクファイルとして指定します。指定する時にファイルの実体はなくても構いませんが、後で「リンクファイル」となるファイルは指定したパスにアップロードします。

この状態で、Movable Type の管理画面から(いきなり)再構築を実行すると、リンクファイルの内容をHTMLページやCSSに反映することができます。
またテンプレート編集画面を開くと、リンクファイルの内容がテキストエリアに反映された状態で表示されます。もちろんデータベースにも反映されます(編集画面を表示した時にデータベースに設定されるようです)。
上記をまとめると、次のような振る舞いになります。
| リンクファイル | 操作時に優先されるデータ | |
|---|---|---|
| 再構築 | 編集画面 | |
| あり | リンクファイル | リンクファイル |
| あり(空)*1 | データベース | データベース |
| なし | データベース | データベース |
*1:リンクファイルの実体があり、その内容が空(0 バイト)のファイル
つまり、データベースの内容とリンクファイルに差分がある場合は、リンクファイルの内容が空でない限り、リンクファイルが優先されます。
改めて図で示します。
リンクファイルがない場合のテンプレート編集や再構築時の動作は次の通りです。

上図のように、テンプレート編集や再構築を実行すると、Movable Type のテンプレート情報は基本的にデータベースから取得し、そのデータを元に HTML や CSS ファイルを出力します。
これと異なり、リンクファイルが存在する場合は、リンクファイルの情報を先に取得してページを生成し、同時にリンクファイルの内容をデータベースに反映する、という訳です(下図)。

リンクファイルは、インデックス/アーカイブ/システム/モジュール、すべてのテンプレートに設定することができます。またこのフィールドにはファイル名だけでなく、パスを設定することができます。Movable Type 配布元の Six Apart は、絶対パス("/"から開始)による指定を推奨しています。
この仕組みを理解しておけば、テンプレート編集画面を利用せずに、テンプレートの内容を効率的にHTMLやCSSの内容に反映させることができます。
オーサリング・ツールとの具体的な連携方法例については下記のサイトが参考になるでしょう。
- Mathatelle:Movable Type のテンプレートを Dreamweaver で編集する
- 21世紀のアフィリエイト通販生活:DreamweaverでMovableTypeのテンプレートを編集!
2.テンプレートをバックアップする
本来の利用方法ではありませんが、このフィールドを利用してテンプレートをバックアップする方法がかなり有名です。他のサイトでこのフィールドをそのように利用する方法が多く紹介されてますし、私自身、当初はそういう使い方をするフィールドと思い込んでました。
設定方法は1項と同様、「このテンプレートにリンクするファイル」に任意のパスを設定するだけです。ファイル名はテンプレートと対応がとれるよう、分かりやすい名称にしておくと良いでしょう。まバックアップ用のパス(tmpl 等)を作っておき、そこに出力するようにしておくとサーバ上にファイルが煩雑にならずにすみます。

この設定をしておくことで、テンプレート編集画面上での修正内容がデータベース以外に、リンクファイル、つまり物理的なファイルをサーバ上に保存しておくことができます。
リンクファイルはテンプレート編集画面の「保存」または「保存および再構築」をクリックした時に更新されます。MTタグも変換されず、そのまま出力されます。
万が一、データベースが壊れて、Movable Type にアクセスできなくなってしまっても、テンプレートはファイルに残ってますので、Movable Type を改めてインストールした時に、リンクファイルの内容をテキストエリアにペーストするか、「このテンプレートにリンクするファイル」に保存されているリンクファイルのパスとして設定すれば、簡単に復活させることができます。
- Movable Type 4.1 テンプレートセット(スタイル対応版)
- Movable Type でコメント用 RSS フィードを出力する
- 小粋空間テンプレートセットのカラムレイアウト変更方法
- Movable Type 4.1 テンプレートセット
- FC2ブログの個別記事ページで前後記事のリンクを表示する
- Movable Type 4.1 の「ブログのテンプレートを初期化」について
- テンプレートのタグを探す方法
- Movable Type 4 配布テンプレート不具合のお知らせ
- livedoor テンプレート不具合のお知らせ(前後ページへのリンク追加)
- 配布テンプレートのサイドバーにリストを追加する
- サイドバーに Google Adsense を貼り付ける
- テンプレート不具合のお知らせ(カレンダーリンクの改善) for livedoor ブログ
- アメーバブログ スキン設定方法
- アメーバブログ スキン
- Movable Type 4 公開テンプレート設定方法
- Movable Type 4 テンプレート不具合と修正のお知らせ
- Movable Type 4 テンプレート配布再開
- XHTML 1.0 Strict 版テンプレートをカスタマイズする場合の注意事項
- Movable Type 4 テンプレート
- 3カラムレイアウトで中央カラムを(X)HTMLの最初に記述する
複数のBlogを作って、それらの間でテンプレートを共用したいときにも、「このテンプレートにリンクするファイル」を使うと便利です。
>壱さん
こんにちは。
なるほど、そういう使い方もありますね!

