バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > セッション情報の取得

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
gelgel
投稿日時: 2010/1/29 20:11
対応状況: −−−
新米
登録日: 2008/9/29
居住地:
投稿: 9
Re: セッション情報の取得
seasoft様、AMUAMU様

早々のご回答ありがとうございます。

seasoft様のヒントによりなんとか解決いたしました。

登録するときに$this->keyが定義されていないのに

$_SESSION[$this->key]['cart_mode'] = $_POST['cart_mode'];


としていたのがそもそもの間違いのようで、

$_SESSION['site']['cart_mode'] = $_POST['cart_mode'];


としてdata/class/SC_CartSession.php内でも

$cart_mode = $_SESSION['site']['cart_mode'];


とすることで読み込むことができました。
※独学なので基本的なことがわかっておらず、恥ずかしいです・・

AMUAMU様の貴重なご意見も参考にさせて頂きます。
ありがとうございました。
AMUAMU
投稿日時: 2010/1/29 19:07
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: セッション情報の取得
直接は関係ないかもしれませんが気になった点があります

$_SESSION[$this->key]['cart_mode'];

のようにデータを入れるようにされていますが、カート情報でこのようなkeyの配下での連想配列はなるべく使用しない方が良いと思います(1ページの遷移の間だけなど分かりやすければ良いですが)。意図していない上書きや消去、unsetな配列の読み込み等がされる場合があります。

本来SC_CartSessionのgetMax()で添字配列としてカートに入っている数を取りだし、添え字配列でデータを取り出したり操作したりすることを想定されていますが、getMaxを使わずに操作している処理が一部にあったり、カスタマイズで入ってる例があったりしますので、気をつけた方が良いと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

seasoft
投稿日時: 2010/1/29 10:02
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: セッション情報の取得
とりあえず $this->key をダンプしてみては?


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

gelgel
投稿日時: 2010/1/29 6:25
対応状況: −−−
新米
登録日: 2008/9/29
居住地:
投稿: 9
セッション情報の取得
============================================================
EC-CUBEバージョン 2.4.1
PHPバージョン PHP 5.1.6
DBバージョン MySQL 5.0.45-log
============================================================

お世話になります。

カートで商品を切り分けるため、独自のセッション「cart_mode」を「dtb_session」に書き込み読み込めるようにしました。

data/class/pages/shopping/LC_Page_Shopping_Complete.php内の
関数「lfDoComplete」では

$cart_mode = $_SESSION[$this->key]['cart_mode'];


とすることで値を取得できたのですが、

data/class/SC_CartSession.php内の
関数「getAllProductsTotal」では

$cart_mode = $_SESSION[$this->key]['cart_mode'];


としても値は取得できませんでした。

同「getAllProductsTotal」では

for($i = 0; $i <= $max; $i++) {
※中略※
	$price = $_SESSION[$this->key][$i]['price'];
※中略※
}


の様に他のセッション情報は設定されているので
取得できるとおもうのですが何がいけないのでしょうか?

ご教授のほど宜しくお願い致します。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1654
8
red
1570
9
mcontact
1306
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.