eccube smartyで外部jsをインクルードするには、fetchを使う


外部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;
 });
});