cutmail's blog

write the code

Smartyでjavascriptを使用する際に気をつけたいこと

PHPのテンプレートエンジンであるSmartyを使うようなプログラムで
テンプレートを記述する際にjavascript使いたいなーという時には、
以下のようにそのまま記述すると解釈されません。

<script language="JavaScript" type="text/JavaScript">
<!--
function func() {
  document.write("hoge");
}
//-->
</script>

こういう場合は、以下にように{literal}…{/literal}で囲ってやるとうまくいきます。

{literal}
<script language="JavaScript" type="text/JavaScript">
<!--
function func() {
  document.write("hoge");
}
//-->
</script>
{/literal}

または、

<script language="JavaScript" type="text/JavaScript" src="foo.js"></script>

のように、外部読み込みにしてあげると大丈夫です。