質問 > フロント機能 > tpl内でsetcookieしたい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dm2012 |
投稿日時: 2012/12/21 21:45
対応状況: −−−
|
常連 登録日: 2012/11/12 居住地: 投稿: 47 |
tpl内でsetcookieしたい [EC-CUBE] 2.12.2
[レンタルサーバ] ローカル環境 [OS] Ubuntu 12.0.4.1 [PHP] PHP 5.3.10 [データベース] MySQL 5.5.24 [WEBサーバ] apache 2.2.22 特定の商品を「かごに入れる」タイミングで クッキーを生成し、 次に同じ商品を「かごに入れる」した場合に、 特定のメッセージを表示する、ということを考えています。 そこで、とりあえず、detail.tpl内で、 <!--{assign var=cpid value=$arrProduct.product_code_min|h}--> と、商品コードをローカル変数cpidに設定し、続けて、 <!--{php}--> if ($_COOKIE[$cpid]) { $check_count = $_COOKIE[$cpid] + 1; } else { $check_count = 1; } setcookie($cpid, $check_count); if ($check_count>=2){ $do_check = 'false'; }else{ $do_check = 'true'; } <!--{/php}--> と、クッキーを商品コード名の配列で作り、 存在しない場合は、1を代入、存在した場合は、+1、 カウントが2より大きい場合は、do_checkをfalse、 そうでない場合は、do_checkをtrue、と代入し、 最後に、global $do_check で、変数を利用しようとしたのですが この$do_checkに値がまったく入りません。 おそらく、tpl内で変数に代入するには、 <!--{assign を使うのだということまではわかったのですが、 「<!--{」のエスケープ書式では、setcookieが動かないようで ドン詰まりです。 なにかしら助言頂ければ、助かります。 |
torataro |
投稿日時: 2012/12/27 23:46
対応状況: −−−
|
一人前 登録日: 2010/6/16 居住地: 東京都台東区 投稿: 140 |
Re: tpl内でsetcookieしたい こんばんは。
テンプレート内でphpの処理をしたいのでしたら、 Smartyのテンプレート関数を作成されるのが良いと思います。 EC CUBEでもいくつかテンプレート関数が利用されていますよ。 data/smarty_extends内のファイルがテンプレート関数です。 作り方は、Smartyの関連サイトを参照すればわかるはずです。 参考になれば幸いです。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |