TinyMCE と base URL とパスの記述について(忘備録)

(posted at: 2015-05-18)

画像が消える!

MODX を使う最大の利点の一つは、お客さん側でのサイト更新が非常に容易だということ。会社概要などの固定ページの更新、新しいドキュメントの投稿のみならず、メニュー、サブメニュー項目を追加することも、チャンクを編集することもそれほど難しいことではない。

そうした場合、TinyMCE を使っていただくケースが多くなるのだが、「画像が消える!」 というケースに直面することがあった。

TinyMCE はルートパスを書き換える場合がある

そうした事象が発生した条件は以下のような時。

  • サーバールート以下のサブディレクトリに、base url 指定していた。
  • TinyMCE をデフォルト状態のままで使用していた(No Convert 設定をしていない)。
  • そのうえで、画像パスを、ルートパスで記述していた。

そうした場合、TinyMCE は、base url を起点とした相対パスにHTMLソースを書き換えてしまうので、"画像が消える!” という事象が発生してしまう。

MODX を使用する際の、パス記述に関する留意点

たとえば企業サイトとは別に、リクルート用の特設サイトを作成する際、1つのMODXで両サイトを管理するために、base url をサブディレクトリに指定することがある。

TinyMCE をデフォルト状態のままで使用する場合、最初は予定がなくても、将来的にそうした展開をすることは考えられるから、MODXを使う場合、画像へのパスは、base url からの相対で書くべきであろう。

もちろん、プラグイン設定の Path Options で、「No convert」を選択すればそうした問題は起こらないのだが、忘れてしまいそう。なので、忘備録としてメモしておく。

関連リンク

普段、制作サイドはHTML編集モードしか使わないのだが、TinyMCE についてもちゃんと勉強しておかなければならないだろう。