HTML - smarty - 変数展開しない {literal}{/literal}
- 1. 概要
- 2. {literal}{/literal}
- 3. smarty3 では、ホワイトスペースでなんとか・・・
1. 概要
smarty のテンプレートファイルの文法で、{変数名} と書くことで、変数が展開されるのですが、逆に、コンテンツに「{」の文字を書こうとすると、変数展開しようとしちゃうので、「{」が表示されなかったり、閉じかっこがないといってエラーになっちゃったりします。
本項は、下記のサイトを参考にさせていただきました。
「{literal} | Smarty」
「{literal} | Smarty」
2. {literal}{/literal}
で、まぁ。
上記を避けるには、
{literal}
コンテンツに表示する文字
{/literal}
と書きます。{literal} から始まって、{/literal} で終わる文字列内の、「{」は、変数展開に用いられないわけです。
更に、{literal}{/literal} 内で、変数展開(入れ子?)させるには、{ldelim}{rdelim} で囲むようです。
3. smarty3 では、ホワイトスペースでなんとか・・・
「smarty3」では、拡張的な機能として。
「{」の直後と、「}」の直前に、いわゆるホワイトスペース(半角空白、改行、タブ・・・)があれば、変数展開しないようです。
|
|