読者です 読者をやめる 読者になる 読者になる

Smartyのデリミタとescape

Smartyのデリミタ、あと escape
http://www.developer0000.jp/2008/02/03/2142/
こんな記事をみたので、うちの場合。


デリミタは基本XOOPS形式の <{ }> です。
以前は、{{ }} とか、他の形式も試したことがあるけど、最近はこの形が多いです。
理由は、Smartyデフォルトの { } 形式だと、HTML中のJavaScriptとぶつかってしまいます。
{{ }} 形式もDreamweaverが自動でこのような括弧連続のJavaScript吐き出すことがあります。


escapeは、昔はこんな自作のSmartyプラグイン関数を作って登録したりしました。

function smarty_modifier_stringescape($string)
{
    if (is_string($string)) {
        return htmlspecialchars($string);
    } else {
        return $string;
    }
}
$smarty->default_modifiers = 'stringescape';


最近は、Ethna使ってるので、EthnaのsetApp使えば自動でescapeしてくれるから、default_modifiersは不要ですね。