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」では、拡張的な機能として。  「{」の直後と、「}」の直前に、いわゆるホワイトスペース(半角空白、改行、タブ・・・)があれば、変数展開しないようです。