変数の修飾子について

概要

変数の修飾子を使用すれば、表示内容に影響を与えることができます。

広告

詳細

テンプレートに書かれている {$entry.title}{$freo.config.basis.title} など、カッコ内にある $ から始まる文字列は「変数」と呼ばれます。その変数の後に | に続けて修飾子の名前を指定することで、表示内容に影響を与えることができます。

これはテンプレートエンジンSmartyの機能によるものです。Smartyの修飾子については、以下の公式ページを参照してください。

上で紹介されている修飾子に加え、freoでは以下の修飾子も利用することができます。

autolink
テキスト内にURLがあれば、自動でリンクします。
(例:{$xxx|autolink}
explode
テキストをテキストで分割します。
(例:<!--{foreach from=$xxx|explode:"\n" item='value'}-->{$value}<!--{/foreach}-->
mb_truncate
テキストを特定の長さで切り捨てます。
(例:{$xxx|mb_truncate:20:'...'}
nl2p
連続する改行を段落に変換します。
(例:{$xxx|nl2p}
regex_match
正規表現でパターンマッチを行います。
(例:<!--{if $xxx|regex_match:'/^gallery\//'}-->{$xxx}<!--{/if}-->

なお、freoではすべての変数に escape (HTMLを無効にする修飾子)が自動で反映されます。これを無効にするには、smarty:nodefaults という修飾子を使用します。

具体的には {$xxx|smarty:nodefaults} のように使用すればHTMLが反映されますが、管理者以外が入力内容を書き換えることができる変数には使用しないでください。例えばコメント欄の本文でHTMLを有効にすると、不正なJavaScriptを入力されるセキュリティホールが発生します。よく解らなければ、この修飾子は自分では追加しないでください。