Smartyのテンプレート内でjavascriptを使う
Smartyでページを構築してたら、どうしてもjavascriptの部分でエラーになってしまう。しかもSmartyのエラー。悩んで調べてみたら、どうやらSmarty内でjavascriptを使うには、
{literal} <script type="text/javascript"> //<![CDATA[ function hoge(){ ごにょごにょ } //]]> </script> {/literal}
のように、{literal}〜{/literal}で囲まなければならないらしい。
Smartyは単に文字列置換しているのかと思っていたら、JavaScriptはパースでエラーになるのね。
BooLog 1.0|SmartyとJavaScript
でも、
<script type="text/javascript"> //<![CDATA[ var hoge = "ほげ"; //]]> </script>
これは大丈夫だった。つまりSmarty内で「{〜}」を使うとダメなのかな。