2011/11/20

【PHP】Smartyでscript、styleタグを使う場合の注意【Smarty】

ちょっと引っかかったのでメモ
PHPでシステムを作成する際はテンプレートエンジンとして「Smarty」というものを使います。

SmartyとはPHP用に開発されたテンプレートエンジンでロジックとビューを
切り分けるのに重宝します。
ほとんどのPHPのシステム開発で使用されているかと思いますが、Smartyテンプレートには
実は落とし穴のようなものがあります。

殆ど無いかと思いますが、テンプレート内で「{}」を使う場合です。
Smartyでは「{}」を置換タグとして扱います。

上記の理由でテンプレートに直接JavaScriptやCSSを書くとエラーとなります。
ただ、外部ファイルとして読みこめば全て丸く収まるのですが、テンプレート側に
書けないということはありません。

テンプレートに書く場合は「{literal}{/literal}」で囲う必要があります。
下記のように記述します。

<script type="text/javascript">
{literal}

  function test() {
    Alert('test');
  }
{/literal}
</script>
終わり

0 件のコメント:

コメントを投稿