2014年5月20日火曜日

JavaScript中にSmartyの変数を使う際のデリミタ設定

テンプレートファイルの中にJavascriptを書いていて、PHPの変数を使いたいとき
JavaScriptの「{ }」と被るため


{literal}
function hoge() {
{/literal}
 window.alert({$hogehoge});
{literal}
}
{/literal}

のように書かなくてはならず、ソースが見にくくなってしまいました。

Smarty.class.php
$smarty->left_delimiter = '<{';
$smarty->right_delimiter = '}>';

のようにデミリタを設定すると、

function hoge() {
 window.alert(<{$hogehoge}>);
}

のようにシンプルに書くことができます。

0 件のコメント:

コメントを投稿