MTの管理画面でコードを変更したのに反映されない

  • Movable Type

以前、Movable Type(以下 MT ) で全ページ置換の修正がありました。しかし管理画面から1つずつ修正するというのは骨が折れる作業のため、データベースから直接 SQL コマンドを打ってまとめて置換することにしました。

まず、MT で使用しているデータベースに接続します。その中のテーブル mt_template にはテンプレート情報が保存されており、カラム template_text にはテンプレートのソースコードが入っています。一度コマンドで置換した際には反映されていたのですが、MT を再構築してから実際のサイトを見てみると元に戻っており、反映されていませんでした。

何か特殊な設定をしているのか?と、管理画面からの更新も試みましたがこちらも反映されませんでした。

原因

これは、MTのそれぞれのテンプレートの編集画面に「ファイルへのリンク」という項目が設定されている場合、そちらのパスのファイルをテンプレートとして使用するからでした。

この設定だと、リンクされているファイルが更新されない限り、管理画面上から更新しても再構築を実行したときに元に戻ってしまいます。FTP からファイルを落としてサーバーにアップすれば更新できるので楽というメリットはありますが、管理画面からいじれないとは…非常にややこしいですね。

解決策

FTP からファイルを落として修正、サーバーにアップロードし再構築することでデータベースにも反映されます。

参考:「このテンプレートにリンクするファイル」または「ファイルへのリンク」の使い方 for Movable Type
http://www.koikikukan.com/archives/2007/05/08-015050.php