質問 > フロント機能 > 受注情報のセッション管理について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
cogane |
投稿日時: 2018/6/11 0:54
対応状況: 解決済
|
半人前 登録日: 2018/6/11 居住地: 投稿: 12 |
受注情報のセッション管理について [EC-CUBE] 3.0.15
[レンタルサーバ] xserver [OS] windows10 [PHP] 7 [データベース] MySQL 5.7.16 [現象] dtb_orderにカラムを追加して購入フローに熨斗などの項目を選択可能にする機能を実装しました。 通常の支払い方法では問題なく処理できたのですが、プラグインで追加した支払い方法(クロネコWEBコレクト)を選択した際に追加した項目の情報が反映されません。 コードを見ると受注情報をセッションから取得してるようなのですが、追加した項目をセッションにセットする方法がわからず手詰まりとなりました。 どなたかご存知の方がおりましたらご教示いただけないでしょうか。 よろしくお願いします。 |
umebius |
投稿日時: 2018/6/11 2:00
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 受注情報のセッション管理について セッションにデータをセットするのは
コントローラーなどで次のようにすればできますが こちらのことでしょうか? $app['session']->set('キー名', '値'); 取得する場合は $value = $app['session']->get('キー名');
|
cogane |
投稿日時: 2018/6/11 12:02
対応状況: −−−
|
半人前 登録日: 2018/6/11 居住地: 投稿: 12 |
Re: 受注情報のセッション管理について umebius様
ありがとうございます。 説明不足ですみません、デフォルトの項目(お問い合わせ欄など)がセッションに登録される処理を特定して、追加した項目もそこで処理したいと思いました。 もしくはPOST送信された値を使おうと思ったのですがこれもプラグインのコントローラーでは取得できず。。 私自身、EC CUBE,PHPの知識が乏しく理解が追いつかないこともあるかもしれませんが、 解決策がありましたらどうかよろしくおねがいします。 |
umebius |
投稿日時: 2018/6/11 12:06
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 受注情報のセッション管理について デフォルトの項目(お問い合わせ欄など)はセッションに登録されるのではなく、ページ遷移(POST)のたびにdtb_orderに登録更新されています。
(セッションに登録されているのは受注のpre_order_idなど一部の情報ではないでしょうか。) お問い合わせ欄で言いますと、 ShoppingController内に$Order->setMessage($message); している箇所が何箇所かあると思います。 後から追加した項目も同様にdtb_orderへセットしてやれば良いかと存じます。
|
cogane |
投稿日時: 2018/6/11 12:36
対応状況: −−−
|
半人前 登録日: 2018/6/11 居住地: 投稿: 12 |
Re: 受注情報のセッション管理について umebius 様、お早いお返事感謝しております。
ShoppingController内ですと以下の処理の際にご指摘のコードでセットされてるようで、たとえば支払い方法選択のメソッドに処理を追加した場合、支払い方法選択前に入力した値は反映されますが選択後に変更するとセッションの値は選択前のままでした。 見落としがありましたらすみませんが、ご教示頂けますと助かります。 配送業者選択 支払い方法選択 お届け先変更 複数配送 |
cogane |
投稿日時: 2018/6/12 0:19
対応状況: −−−
|
半人前 登録日: 2018/6/11 居住地: 投稿: 12 |
Re: 受注情報のセッション管理について ShoppingService.phpのsetOrderUpdateでセットすることで解決出来ました。
umebius 様ありがとうございました。 ウェブサイトの記事にも幾度となく助けていただいたこともありました。 重ねて感謝しております。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |