質問 > フロント機能 > ログイン状態でカートの支払方法選択エラー |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mosayan |
投稿日時: 2018/2/14 14:41
対応状況: −−−
|
新米 登録日: 2018/2/9 居住地: 投稿: 2 |
Re: ログイン状態でカートの支払方法選択エラー コメントありがとうございます。
下記を試してみようと思います。 ・サーバ1台 ・セッションハンドラ(session_handler.yml) memcachedやredis |
468 |
投稿日時: 2018/2/9 22:12
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: ログイン状態でカートの支払方法選択エラー サーバが複数台構成との事ですが、
webサーバが切り替わった際、 セッションが切れているという事はないでしょうか?
|
mosayan |
投稿日時: 2018/2/9 19:31
対応状況: −−−
|
新米 登録日: 2018/2/9 居住地: 投稿: 2 |
ログイン状態でカートの支払方法選択エラー ▼テンプレート
[EC-CUBE] 3.0.15新規インストール [OS] 使用しているOS名、バージョン [PHP] 7.1.12 [データベース] MySQL 10.2.11-MariaDB 複数台構成 [WEBサーバ] Apache/2.4.29 複数台構成 [ブラウザ] safari iOs11 [導入プラグインの有無] GmoPaymentGateway [カスタマイズの有無] 無し [現象] ■対象画面:カートのステップ3【ご注文内容確認】画面 ■再現方法 ログイン済み状態で、お支払方法(コンビニ、クレジットカード)を切り替えた際に、 【購入エラー】画面に遷移し、「購入処理中の受注情報がないため購入エラー」のメッセージが出ます。 ソースを追ってみたところ調べたところ、getPreOrderIdが上手くとれていない模様です。 ゲスト購入では、問題なく値が入ってきます。 ■ソース調査内容 ①Controller/ShoppingController.php ※getOrderが失敗している /** * 配送業者選択処理 */ public function delivery(Application $app, Request $request) { // カートチェック if (!$app['eccube.service.cart']->isLocked()) { // カートが存在しない、カートがロックされていない時はエラー log_info('カートが存在しません'); return $app->redirect($app->url('cart')); } $Order = $app['eccube.service.shopping']->getOrder($app['config']['order_processing']); if (!$Order) { log_info('購入処理中の受注情報がないため購入エラー'); $app->addError('front.shopping.order.error'); return $app->redirect($app->url('shopping_error')); } ②Service/ShoppingService.php ※$preOrderIdが空 /** * セッションにセットされた受注情報を取得 * * @param null $status * @return null|object */ public function getOrder($status = null) { // 受注データを取得 $preOrderId = $this->cartService->getPreOrderId(); var_dump($preOrderId); 手がかりをお持ちの方、いらっしゃいましたらご助力願います。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |