質問 > その他 > カートセッションの情報をデータベースに保存したい |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
bakusan |
投稿日時: 2013/12/16 16:57
対応状況: −−−
|
常連 登録日: 2013/11/22 居住地: 投稿: 36 |
カートセッションの情報をデータベースに保存したい いつもお世話になっております。ECCUBE初心者です。
商品のお申し込み画面で、確認画面まで保持しているセッションの情報をデータベースに保存したいのですが、その方法がわかりません・・。 LC_Page_Shopping_Payment.phpとLC_Page_Shopping_Confirm.phpを見たのですが、それらしいところが見つけられず、詰まってしまいました。 どのファイルを触ればいいのか、またどの部分を触ればいいのか、具体的に教えていただけると助かります。 お手数をおかけいたしますが、お返事よろしくお願いいたします。 EC-CUBEバージョン 2.12.5 PHPバージョン PHP 5.4.8 DBバージョン PostgreSQL 9.2.4 |
raku2cube |
投稿日時: 2013/12/16 18:37
対応状況: −−−
|
半人前 登録日: 2013/10/3 居住地: 福井県福井市二の宮2丁目28-38 投稿: 24 |
Re: カートセッションの情報をデータベースに保存したい カートセッションってSC_CartSession::cartSessionで認識合ってます?
|
bakusan |
投稿日時: 2013/12/16 20:16
対応状況: −−−
|
常連 登録日: 2013/11/22 居住地: 投稿: 36 |
Re: カートセッションの情報をデータベースに保存したい SC_CartSession様
お返事ありがとうございます。 はい、その認識で間違いない・・と思います。 (すいません、当方あまり詳しくないもので、こういった返事しかできませんが・・・SC_CartSessionで設定している内容であることは間違いないです。) |
tsuji |
投稿日時: 2013/12/17 9:14
対応状況: −−−
|
仙人 登録日: 2013/11/19 居住地: 投稿: 958 |
Re: カートセッションの情報をデータベースに保存したい LC_Page_Shopping_Payment.phpであれば、lfRegistData関数で登録処理を行っています。
LC_Page_Shopping_Confirm.phpであれば、action関数の下記の部分です。 引用:
LC_Page_Shopping_Payment.phpとLC_Page_Shopping_Confirm.phpのどちらも、SC_Helper_Purchase.phpの処理を呼び出して登録処理を行っています。 |
bakusan |
投稿日時: 2013/12/17 14:17
対応状況: −−−
|
常連 登録日: 2013/11/22 居住地: 投稿: 36 |
Re: カートセッションの情報をデータベースに保存したい tsuji様
お返事ありがとうございます。 大変勉強になりました。 最後に1点、確認させていただきたいのですが、 引用:
と、ここで3つのファイル名がでてくるのですが、実際にデータベースに追加で情報を登録をしようと考えた場合、3つのファイルとも触る必要あるでしょうか? LC_Page_Shopping_Confirm.phpのソースを確認して、order_idを参考に見てみると ・$_SESSION['order_id'] = $this->arrForm['order_id']; ・$this->arrForm['order_id'], の部分をそれぞれ追加してorder_id部分を変更していけばいけないかな・・と思っていますがどうでしょうか。 お手数ですがご指導をお願いできれば助かります。 よろしくお願いいたします。 |
tsuji |
投稿日時: 2013/12/17 14:43
対応状況: −−−
|
仙人 登録日: 2013/11/19 居住地: 投稿: 958 |
Re: カートセッションの情報をデータベースに保存したい >ここで3つのファイル名がでてくるのですが、実際にデータベースに追加で情報を登録をしようと考えた場合、3つのファイルとも触る必要あるでしょうか?
修正内容によっては3つのファイルとも修正する必要があります。修正する必要があるかどうかはご判断いただければと思います。 引用:
具体的な修正については、私の方では判断のしようがありませんので、bakusan様の方でご判断いただければと思います。 |
bakusan |
投稿日時: 2013/12/17 14:49
対応状況: −−−
|
常連 登録日: 2013/11/22 居住地: 投稿: 36 |
Re: カートセッションの情報をデータベースに保存したい すいません、自レスです。
受注一時テーブルというものがあって、そこからdtb_order_detailに登録しているんですね・・・。 しっかりみていませんでした。すいません。 自分なりに見てみた結果なんですが、 ・LC_page_Shopping_Payment.php →お支払い方法やポイント等のフォームの入力内容を受注一時テーブルへ登録 ・LC_page_Shopping_Confirm.php →顧客情報等?フォームの入力内容を一時テーブルへ登録 ・SC_Helper_Purchase.php →一時テーブルの内容を読み出してdtb_orderやdtb_order_detailに登録 という流れでいいでしょうか? |
tsuji |
投稿日時: 2013/12/17 14:58
対応状況: −−−
|
仙人 登録日: 2013/11/19 居住地: 投稿: 958 |
Re: カートセッションの情報をデータベースに保存したい 流れはだいたい合っているのではないかと思います。見落としがあった場合はご容赦ください。
また、追加ですが、SC_Helper_Purchase.phpでは一時テーブルの内容のみならず、カートセッションの情報を登録しています。 |
bakusan |
投稿日時: 2013/12/17 15:01
対応状況: −−−
|
常連 登録日: 2013/11/22 居住地: 投稿: 36 |
Re: カートセッションの情報をデータベースに保存したい tsuji様
何度もお返事いただきありがとうございました。 後はこちらでいろいろ試してみます。 大変助かりました! |
bakusan |
投稿日時: 2013/12/17 22:21
対応状況: −−−
|
常連 登録日: 2013/11/22 居住地: 投稿: 36 |
Re: カートセッションの情報をデータベースに保存したい 上の登校の続きです。
あれからいろいろ試したのですが、表示されず・・・。 どこが足りないかわかる方がいれば教えていただけないでしょうか。 ▼dtb_order_detailに追加したいセッション情報 'ini_field''kinds_field''wrapping_field' ▼作業したこと ・dtb_order_tempテーブルのsessionカラムに上記の情報が登録されていることを確認 ・以下のファイルの//★新規追加を追加(文章が長くなるので、コメントで重要なところのみ残してあとは削ってます) ■SC_Helper_Purchase.php * 受注登録を完了する. $this->registerOrder($orderParams['order_id'], $orderParams); // 詳細情報を取得 $cartItems = $objCartSession->getCartList($cartKey); // 詳細情報を生成 $objProduct = new SC_Product_Ex(); $i = 0; $arrDetail = array(); foreach ($cartItems as $item) { //★新規追加 $arrDetail[$i]['ini_field'] = $item['ini_field']; $arrDetail[$i]['kinds_field'] = $item['kinds_field']; $arrDetail[$i]['wrapping_field'] = $item['wrapping_field']; ■LC_Page_Shopping_payment.php * 受注一時テーブルへ登録を行う. */ function lfRegistData($uniqid, $arrForm, &$objPurchase, $arrPayment) { //★新規追加 $arrForm['ini_field'] = $ini_field; $arrForm['kinds_field'] = $kinds_field; $arrForm['wrapping_field'] = $wrapping_field; ■LC_Page_Shopping_Confirm 修正なし 知識不足で何度も質問して申し訳ないです。 お力添えよろしくお願いいたします。 |
(1) 2 3 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |