質問 > フロント機能 > ゲスト購入で会員情報に追加した情報の取得に失敗する |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
h_tanaka |
投稿日時: 2019/5/23 10:26
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
ゲスト購入で会員情報に追加した情報の取得に失敗する EC-CUBE3.0.16
国情報を会員情報に保持するように実装しました。 ゲスト購入で、注文内容確認ページから一度カートページに戻って再度注文内容確認ページに行こうとすると、エラーになってしまいます。 会員登録しての注文では問題ありません。 ゲスト購入のときは、会員情報はおそらくセッションに保持しているものと思われますが、セッションに保存・取得する処理がどこに定義されているかわからず、処理が追えないでいます。 ■エラーメッセージ ContextErrorException in UnitOfWork.php line 2918: Catchable Fatal Error: Object of class __PHP_Incomplete_Class could not be converted to string src/Eccube/Service/ShoppingService.php
上記の位置で $Country をdump() してみたところ、次のように表示されました。
|
umebius |
投稿日時: 2019/5/23 17:44
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ゲスト購入で会員情報に追加した情報の取得に失敗する ShoppingControllerのnonmemberメソッドで保存されています。
セッションのキーはeccube.front.shopping.nonmemberです。
|
umebius |
投稿日時: 2019/5/23 17:48
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ゲスト購入で会員情報に追加した情報の取得に失敗する 取得するときはShoppingServiceのgetNonMemberを使っています。
CountryはPrefエンティティと同様に、IDを別途セッションに保存して、取得の際にエンティティとして復元してやった方が良いと思います。 getNonMemberでこの処理をやっています。 |
h_tanaka |
投稿日時: 2019/5/24 17:49
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: ゲスト購入で会員情報に追加した情報の取得に失敗する umebius さん
ありがとうございます。 別途セッションに保存してエンティティに復元する方法でうまくいきました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |