バージョン選択

フォーラム

メニュー

オンライン状況

29 人のユーザが現在オンラインです。 (13 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 29
もっと...

サイト内検索

質問 > フロント機能 > 注文手続きにおけるform.Shippings配列へのKeyの割り当てについて

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
gwkozaki
投稿日時: 2021/9/2 10:43
対応状況: −−−
常連
登録日: 2019/7/30
居住地: 日本
投稿: 52
注文手続きにおける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. 再度ご注文手続き画面に遷移すると、下記のエラーが発生する
===============================

◆発生するエラー
Key "0" in object with ArrayAccess of class "Symfony\Component\Form\FormView" does not exist in __string_template__ at line 353.


◆エラー発生箇所
エラーの内容を元に色々とdumpしながら調査した結果、Shopping/index.twig内の「form.Shippings[idx]」部分で発生しているエラーであると判明しました。
通常、上記の再現方法を実施すると、手順6でのform.Shippingsの配列はKeyが0から割り振られていました。
しかしながら、どうやらエラーが起こる現時点の状態では、form.Shippingsの配列のKeyに1が割り振られており、上記のエラーが発生していると分かりました。

◆アドバイスいただきたいこと
ご注文手続き画面のform.Shippingsの配列は、OrderType.phpの中で以下の処理で作成されていると認識しております。
その配列のKeyの割り当てというのは、基本的にCollectionTypeにより自動で0から割り振られるものであると認識しているのですが、認識誤っておりますでしょうか?
->add('Shippings', CollectionType::class, [
        'entry_type' => ShippingType::class,
        'by_reference' => false,
])


お手数をお掛けいたしますが、ご教授いただけますと幸いです。
何卒よろしくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は73,047名です
総投稿数は102,095件です

投稿数ランキング

1
seasoft
7333
2
468
3073
3
AMUAMU
2712
4
nanasess
2174
5
umebius
2030
6
yuh
1612
7
red
1453
8
h_tanaka
1090
9
tsuji
936
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.