{literal}

{literal} タグに囲まれたデータのブロックは、 リテラルとして認識されます。これは一般的に、Javascript やスタイルシートなどで 中括弧がテンプレートの デリミタ として解釈されるとまずい場合に使用します。 {literal}{/literal} タブの内部は解釈されず、 そのままで表示されます。{literal} ブロック内にテンプレートタグを含める必要がある場合は、代わりに {ldelim}{rdelim} で個々のデリミタをエスケープしてください。

注意

{literal}{/literal} タグは通常は不要です。Smarty は、 空白文字で囲まれたデリミタを無視するからです。 Javascript や CSS で波括弧を使う場合は両側に空白文字を入れるようにしましょう。 これは、Smarty 3 以降の新しい挙動です。

例 7.58. {literal} タグ


<script>
   // 次の波括弧は Smarty では無視されます。
   // 空白文字で囲まれているからです。
   function myFoo {
     alert('Foo!');
   }
   // こちらは、リテラルとして扱うエスケープが必要です
   {literal}
     function myBar {alert('Bar!');}
   {/literal}
</script>

  

{ldelim} {rdelim} および Smarty の構文解析を回避 のページも参照してください。