質問 > フロント機能 > ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
okotaro |
投稿日時: 2020/11/11 2:00
対応状況: −−−
|
新米 登録日: 2018/10/17 居住地: 投稿: 6 |
ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる お忙しいところ恐れ入ります。
色々調べてみたのですが、解決に至らないためご教示願います。 プログラミングの勉強を兼ねてEC-CUBE3の非会員のご注文内容確認画面(/shopping/nonmember)に 年齢確認のラジオボタンを追加するためにマスターテーブルおよび下記ファイルを作成/修正し、 ラジオボタンによる年齢確認およびその結果をDBに格納することができるようになりました。 しかし、ご注文内容確認画面(/shopping)に遷移後、「注文する」ボタンをクリックせずに トップ画面に戻り、更に商品の検索および追加後、購入処理を続けたところ、 ご注文内容確認画面(/shopping)にて下記エラーメッセージが表示されるようになり、以降は処理を進めることができなくなりました。 色々調べてみたところ、本サイトの下記質問の回答で対処できるのではと思い、 ShoppingService.phpに下記の通り追記いたしましたが解決に至りませんでした。 このエラーの解消法および他の作業で発生した場合にセッションをクリアする手順を ご教示いただけないでしょうか。 [エラーメッセージ] ORMInvalidArgumentException in ORMInvalidArgumentException.php line 91: A new entity was found through the relationship 'Eccube\Entity\Order#R18' that was not configured to cascade persist operations for entity: 18歳以上. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(..,cascade={"persist"}). [参考質問] https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=20341&forum=17 [ShoppingService.phpへの追加コード] ※getNonMemberメソッドへ下記を追加 if (!array_key_exists('customer', $nonMember) || !array_key_exists('r18', $nonMember)) { return null; } $Customer = $nonMember['customer']; $Customer->setPropertiesFromArray($nonMember, array('customer', 'id', 'r18', 'email', 'password', 'salt')); $Customer->setR18($this->app['eccube.repository.master.r18']->find($nonMember['r18'])); return $Customer; [作業内容] ※未熟なため不要な設定が入っている可能性がございます。 ①mtb_sexを参考にmtb_r18の作成。 ②dtb_orderへorder_sexカラムを参考にorder_r18カラムを追加。 ③/src/Eccube/Controller/ShoppingController.phpにr18を追加。 ④/src/Eccube/Entity/Customer.phpにr18を追加。 ⑤/src/Eccube/Entity/Order.phpにr18を追加。 ⑥/src/Eccube/Entity/Master/R18.phpを作成(Sex.phpを参考)。 ⑦/src/Eccube/Form/Type/OrderSearchType.phpにr18を追加。 ⑧/src/Eccube/Form/Type/Frontにr18を追加。 ⑨/src/Eccube/Form/Type/Master/R18Type.phpを作成(Sex.phpを参考)。 ⑩/src/Eccube/Repository/OrderRepository.phpにr18を追加。 ⑪/src/Eccube/Repository/Master/R18Repository.phpを作成(Sex.phpを参考)。 ⑫/src/Eccube/Resource/doctrine/Eccube.Entity.Order.dcm.ymlにr18を追加。 ⑬/src/Eccube/Resource/doctrine/master/Eccube.Entity.Master.R18.dcm.ymlを作成(Sex.phpを参考)。 ⑭/src/Eccube/ServiceProvider/EccubeServiceProvider_org.phpにr18を追加。 ⑮/src/Eccube/Service/ShoppingService.php ※copyToOrderFromCustomerメソッドへ下記を追加、他は未実施。 $Order ->setR18($Customer->getR18()) ⑯/app/template/default/Shopping/nonmember.twig [EC-CUBE] 3.0.18 [レンタルサーバ] ロリポップ! [PHP] 5.6 [データベース] mysql5.6 [導入プラグインの有無] なし |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | okotaro | 2020/11/11 2:00 |
Re: ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | 468 | 2020/11/14 2:29 |
Re: ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | okotaro | 2020/11/14 3:22 |
Re: ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | 468 | 2020/11/14 11:17 |
Re: ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | okotaro | 2020/11/15 1:12 |
Re: ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | okotaro | 2020/11/23 3:14 |
Re: ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | 468 | 2020/11/24 12:03 |
Re: ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | okotaro | 2020/11/25 1:21 |
Re: ご注文内容確認画面からトップページへ遷移後、再度商品追加し決済しようとするとエラーになる | okotaro | 2020/11/28 19:41 |