MT4にしたときに、画像ファイルをアップロードすると<form> タグが付くのでヘンな感じがすると書きました。
そのまま使っていたのですが、いつの間にか<form> タグが無くなって<img> タグだけになっていました。
もちろんMTのソースを改変したりはしていません(以前はやってましたが、引用もBMQuoteプラグインで対処できるようになったので)。
第一、先日の新システム構築でも既存のディレクトリに上書きではなく、全く新規にMT5.01を導入していますし。
<form> タグは再構築されると <span> タグに変換されるのですが、それが付いているのは 2009年2月25日 から 2009年8月 2日 までです。 2009年8月 5日 には付いていません。
その前後で何か変化点があったかというと、2009年8月 8日にMT4.3にしたという記事があります。
ググってみたら... ありました。
2.ブログ記事のアイテム管理
アイテム管理をブログ記事編集画面上で行えるようになりました。これにより、4.2 まで付与されていた、アイテムとブログ記事を関連付けるキー(form 要素)をブログ記事本文に挿入する必要がなくなりました。
* MovableType.org - Features of 4.3: Entry Asset Manager
* Movable Type 4.3 α版レポート
これのせいか、AssetRelativePath が働かないんですよね。
MT4.2までは以下のようになっていたようです。
Movable Type 備忘録 - 画像を挿入で出力されるタグをカスタマイズ
具体的には mt/lib/MT/Asset/Image.pm 内にある as_html というファンクション内で画像を貼り付けたい タグを作成して、mt/lib/MT/Asset.pm 内の enclose というファンクションに作成した タグの文字列を渡すことで、 で囲って出力されるようになっています。
ですので、mt/lib/MT/Asset.pm 内の enclose というファンクションを使わないようにすれば、上記例で示した、赤い字の部分だけが出力されるようになります ( ̄∇ ̄)b
具体的には以下の行を変更します。
mt/lib/MT/Asset/Image.pm
638. #return $asset->enclose($text);
639. return $text;
赤い字のようにコメントにして、青い字のように変更します。
以上で、 タグだけが出力されるようになります。
で、MT5.0の Image.pm を確認すると、
361. return $param->{enclose} ? $asset->enclose($text) : $text;
となっています。
AssetRelativePath.pl は、MT::Asset::enclose に渡された <img> タグに対してURL部分の置換を行うようなので、これじゃ動かないですね。
ちなみに自分はPerlの知識は全くと言っていいほどないので、これ以上のことはわかりません。
MT4.3絡みでは、EntityRefButton v0.2.2 が動かなくなったのもそのせいみたいです。
MT5・プラグインの皆さん動いてますか - WolaWola
EntityRefButton 0.2.2
http://labs.m-logic.jp/plugins/entityrefbutton/docs/entityrefbutton.html
バージョン判別して処理を分岐しているため動作しません。mt5を分岐条件に追加して動作する事は確認しました。そのうち正式に対応版が出ると思います。
早速、entityrefbutton.pl のソースを見てみました。
elsif(is_mt41() || is_mt42() || is_mt50()) {
# MT4.1
MT->add_callback('MT::App::CMS::template_source.archetype_editor', 9, $plugin, sub { transform_mt4(@_) });
MT->add_callback('MT::App::CMS::template_param.edit_entry', 9, $plugin, sub { mod_params_mt4(@_) });
}
sub is_mt42 {
return (substr(MT->version_number, 0, 3) eq '4.2');
}
sub is_mt50 {
return (substr(MT->version_number, 0, 3) eq '5.0');
}
というように変更したら、編集画面に「&」ボタンが出てきました。 ちゃんと実体参照への変換もできました。
正式なMT5対応版が出るまでは、これでしのげますね。