Top > March 18, 2008

カスタムフィールドのテキストエリアに入力した改行をページに反映させる

March 18,2008 12:50 AM
Category:[カスタムフィールド]
Tag:[, ]
Permalink

Movable Type のカスタムフィールドで「テキスト(複数行)」という種類のフィールドを利用する際、テキストエリアへの入力内容に改行や空行を含めても、出力される文字列の改行や空行はすべて除去された状態で出力されてしまいます。

本エントリーでは、この事象を解消する方法を紹介します。

1.問題点

例えば、次のようなカスタムフィールドを作成します。テンプレートタグはとりあえず「EntryData」としておきます。

作成したフィールドで、次のようなテキストを入力します。

このカスタムフィールドを出力する「ブログ記事の概要」のサブテンプレートは次のようにします。

   :
<div class="asset-body">
    <$MTEntryBody$>
    <MTIfNonEmpty tag="EntryData">
        <$MTEntryData$>
    </MTIfNonEmpty>
</div>
   :

このテンプレートで出力されるカスタムフィールドの内容には、ご覧の通り、改行が含まれません。

2.対処方法

改行を含めるには、グローバルモディファイアである、filter モディファイアをカスタムフィールドに適用します。

   :
<div class="asset-body">
    <$MTEntryBody$>
    <MTIfNonEmpty tag="EntryData">
        <$MTEntryData filters="__default__"$>
    </MTIfNonEmpty>
</div>
   :

値に設定されている __default__ は、テキストフィルタとして定義されている予約変数(厳密にはMT::Util::html_text_transformをハンドリングするためのキー名)です。

このように設定することで、カスタムフォールドの出力結果に改行(br 要素や p 要素)が反映されます。

もう少し厳密に言えば、ブログ記事やウェブページの本文・追記のフォーマットで「改行を変換」を選択したものと同じ結果で出力されます。

3.参考記事

Ogawa::memorandaどこでもConvert Line Breaksするための2つのTips

Comments [0] | Trackbacks [0]
Now loading...
List of "Mar 18, 2008"
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
BlogPeople
Now loading...
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 4.1
 
List Me!