質問 > フロント機能 > EC-CUBE | scriptタグの中でsmarty実行 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tatsuyoshi |
投稿日時: 2015/9/16 12:20
対応状況: −−−
|
常連 登録日: 2015/5/22 居住地: 埼玉県 投稿: 43 |
EC-CUBE | scriptタグの中でsmarty実行 EC-CUBEで、tplファイル内のscriptタグの中でsmartyを実行して、jsの変数に値を格納したいです。
// ? var test = <!--{$arrProduct[product_id]}-->; // ? var test = /*<!--{$arrProduct[product_id]}-->*/; // ? var test = <!--{php}-->echo $arrProduct['product_id']<!--{/php}-->; console.log(test); ?の場合には前もって <!--{php}--> $arrProduct = $this->get_template_vars('arrProduct'); <!--{/php}--> を実行しています。 いずれも値がいきません、何かsmarty的な解決策はありますか? |
reaps |
投稿日時: 2015/9/16 14:24
対応状況: −−−
|
半人前 登録日: 2008/11/13 居住地: 東京都港区南青山 投稿: 30 |
Re: EC-CUBE | scriptタグの中でsmarty実行 実際に試してないので間違っているかもしれませんが、
?で問題なくて、smartyの記述を<!--{$arrProduct.product_id}-->に変更すると値を取得できると思います。 product_idを[]ではなくドット(.)でつないでいます。 あと、取得しようとしているページで$arrProduct.product_idが取得できることが前提です。
|
tsuji |
投稿日時: 2015/9/17 9:07
対応状況: −−−
|
仙人 登録日: 2013/11/19 居住地: 投稿: 958 |
Re: EC-CUBE | scriptタグの中でsmarty実行 tatsuyoshi 様
横から失礼します。 > // ? > var test = <!--{$arrProduct[product_id]}-->; ↑の形でするなら、<!--{$arrProduct['product_id']}-->か reaps 様の提案の<!--{$arrProduct.product_id}-->だと思います。 ただ、この形で注意しておかないといけないのが、中身が空の場合です。 中身が空になる可能性があるのであれば、下記の形にしておくとエラーになりません。 var test = '<!--{$arrProduct['product_id']}-->'; つまり、$arrProduct['product_id']が空の場合 var test = <!--{$arrProduct['product_id']}-->; ↓実行時 var test = ; こうなるとエラーとなりますが、↓のようにしておけば var test = '<!--{$arrProduct['product_id']}-->'; ↓実行時 var test = ''; となりエラーは回避できます。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |