バージョン選択

フォーラム

メニュー

オンライン状況

45 人のユーザが現在オンラインです。 (38 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 45
もっと...

サイト内検索

質問 > フロント機能 > 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の関連サイトを参照すればわかるはずです。

参考になれば幸いです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,279名です
総投稿数は110,071件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1301
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.