質問 > フロント機能 > 注文手続きにおけるform.Shippings配列へのKeyの割り当てについて |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
gwkozaki |
投稿日時: 2021/9/2 10:43
対応状況: −−−
|
常連 登録日: 2019/7/30 居住地: 日本 投稿: 53 |
注文手続きにおけるform.Shippings配列へのKeyの割り当てについて ▼テンプレート
[EC-CUBE] ECCUBE4 [カスタマイズの有無] あり ・下記サイトを参考にした、値引き処理の追加 https://note.com/akihi/n/n8ae5cd0ad493 ・ShippingTypeへEventListenerを複数追加(PRE_SET_DATAとPOST_SUBMIT) [現象] 購入手続き画面への項目追加や、処理の追加を複数行ないサイトを作成いたしました。 サイト完成時点では発見出来なかったのですが、最近以下の手順でエラーが発生することが判明し、 原因箇所の特定が難航しているためアドバイスをいただけないかと思い、投稿させていただきました。 ◆再現方法 =============================== 手順1. 商品をカートに1種類(数量1個)追加する 手順2. ご注文手続き画面へ遷移し、配送先の追加を押下する 手順3. 初期配送先とは異なる配送先を追加配送先として選択し、ご注文手続き画面に戻る 手順4. 複数配送状態になっていることを確認したら、カートに戻る 手順5. 複数配送の影響でカート内商品数が2に増えているのを確認したら、商品数を1に減らす。 手順6. 再度ご注文手続き画面に遷移すると、下記のエラーが発生する =============================== ◆発生するエラー
◆エラー発生箇所 エラーの内容を元に色々とdumpしながら調査した結果、Shopping/index.twig内の「form.Shippings[idx]」部分で発生しているエラーであると判明しました。 通常、上記の再現方法を実施すると、手順6でのform.Shippingsの配列はKeyが0から割り振られていました。 しかしながら、どうやらエラーが起こる現時点の状態では、form.Shippingsの配列のKeyに1が割り振られており、上記のエラーが発生していると分かりました。 ◆アドバイスいただきたいこと ご注文手続き画面のform.Shippingsの配列は、OrderType.phpの中で以下の処理で作成されていると認識しております。 その配列のKeyの割り当てというのは、基本的にCollectionTypeにより自動で0から割り振られるものであると認識しているのですが、認識誤っておりますでしょうか?
お手数をお掛けいたしますが、ご教授いただけますと幸いです。 何卒よろしくお願いいたします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |