Feb 6, 2007

どこでもConvert Line Breaksするための Tips

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__"$>

と書くことができます。こっちの方法はプラグインいらずで多分ダイナミックパブリッシングの場合にも使えますが、ドキュメントされていない仕様です。

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com