外部js内でPHP変数を参照したい場合は、HTMLからPHPでincludeすると良い。
ただ、smartyだとincludeでは読み込めないので、fetch関数を使用する。
html内
aaa.js内で、PHP変数の値を参照している状態とする。
<script type="text/javascript">
<!--
<!--{include file=http://test.jp/eccube/html/user_data/packages/default/js/aaa.js}--> // 読み込めない
<!--{fetch file="http://test.jp/eccube/html/user_data/packages/default/js/aaa.js"}--> // 読み込める!!
// -->
</script>
※phpで読み込む前後には、scriptタグを忘れずに。
aaa.js内の例
<?php $abc = "aaaaa"; ?>
$(document).ready(function(){
// ボタンをクリック時
$('#btn').click(function(){
alert("<?php echo $abc; ?>");
return false;
});
});