Rightfields でも改行したい! - greenplastic.net
convert_breaksはフィルターではなく、特定のMTタグが持っているオプションに過ぎませんから、MTExtraFieldValueに与えても機能しません。
解決方法は2つあって、ひとつは下のようなグローバルフィルタを提供する極小プラグインを使う方法。
package MT::Plugin::ConvertBreaksAnywhere;
use strict;
use MT 3.3;
use base qw(MT::Plugin);
my $plugin = __PACKAGE__->new({
name => 'ConvertBreaksAnywhere',
global_filters => {
'convert_breaks_anywhere' => sub { MT::Util::html_text_transform($_[0]) }
}
});
MT->add_plugin($plugin);
このプラグインを使えば、どんなMTタグでもフィルタを適用することができます。
<$MTExtraFieldValue field="movie_introduction" convert_breaks_anywhere="1"$>
もうひとつは、実はMovable Typeでは「__default__」という名前のテキストフィルタが定義されていて、その中身はConvert Line Breaksそのものになっているので、それを利用するという方法。上のプラグインを使わずに
<$MTExtraFieldValue field="movie_introduction" filters="__default__"$>
と書くことができます。こっちの方法はプラグインいらずで多分ダイナミックパブリッシングの場合にも使えますが、ドキュメントされていない仕様です。
