@@ -129,25 +129,50 @@ private function fetch()
129
129
/** @var OrderInterface $associatedOrder */
130
130
$ associatedOrder = $ orderList [$ orderItem ->getOrderId ()];
131
131
$ itemOptions = $ this ->optionsProcessor ->getItemOptions ($ orderItem );
132
- $ this ->orderItemList [$ orderItem ->getItemId ()] = [
133
- 'id ' => base64_encode ($ orderItem ->getItemId ()),
134
- 'product_name ' => $ orderItem ->getName (),
135
- 'product_sku ' => $ orderItem ->getSku (),
136
- 'product_url_key ' => $ associatedProduct ? $ associatedProduct ->getUrlKey () : null ,
137
- 'product_type ' => $ orderItem ->getProductType (),
138
- 'product_sale_price ' => [
139
- 'value ' => $ orderItem ->getPrice (),
140
- 'currency ' => $ associatedOrder ->getOrderCurrencyCode ()
141
- ],
142
- 'selected_options ' => $ itemOptions ['selected_options ' ],
143
- 'entered_options ' => $ itemOptions ['entered_options ' ],
144
- 'quantity_ordered ' => $ orderItem ->getQtyOrdered (),
145
- 'quantity_shipped ' => $ orderItem ->getQtyShipped (),
146
- 'quantity_refunded ' => $ orderItem ->getQtyRefunded (),
147
- 'quantity_invoiced ' => $ orderItem ->getQtyInvoiced (),
148
- 'quantity_canceled ' => $ orderItem ->getQtyCanceled (),
149
- 'quantity_returned ' => $ orderItem ->getQtyReturned ()
150
- ];
132
+
133
+ if (!$ orderItem ->getParentItem ()) {
134
+ $ this ->orderItemList [$ orderItem ->getItemId ()] = [
135
+ 'id ' => base64_encode ($ orderItem ->getItemId ()),
136
+ 'product_name ' => $ orderItem ->getName (),
137
+ 'product_sku ' => $ orderItem ->getSku (),
138
+ 'product_url_key ' => $ associatedProduct ? $ associatedProduct ->getUrlKey () : null ,
139
+ 'product_type ' => $ orderItem ->getProductType (),
140
+ 'product_sale_price ' => [
141
+ 'value ' => $ orderItem ->getPrice (),
142
+ 'currency ' => $ associatedOrder ->getOrderCurrencyCode ()
143
+ ],
144
+ 'selected_options ' => $ itemOptions ['selected_options ' ],
145
+ 'entered_options ' => $ itemOptions ['entered_options ' ],
146
+ 'quantity_ordered ' => $ orderItem ->getQtyOrdered (),
147
+ 'quantity_shipped ' => $ orderItem ->getQtyShipped (),
148
+ 'quantity_refunded ' => $ orderItem ->getQtyRefunded (),
149
+ 'quantity_invoiced ' => $ orderItem ->getQtyInvoiced (),
150
+ 'quantity_canceled ' => $ orderItem ->getQtyCanceled (),
151
+ 'quantity_returned ' => $ orderItem ->getQtyReturned (),
152
+ ];
153
+ } else {
154
+ // case where
155
+ $ this ->orderItemList [$ orderItem ->getParentItemId ()]['child_items ' ][$ orderItem ->getItemId ()] = [
156
+ 'id ' => base64_encode ($ orderItem ->getItemId ()),
157
+ 'product_name ' => $ orderItem ->getName (),
158
+ 'product_sku ' => $ orderItem ->getSku (),
159
+ 'product_url_key ' => $ associatedProduct ? $ associatedProduct ->getUrlKey () : null ,
160
+ 'product_type ' => $ orderItem ->getProductType (),
161
+ 'product_sale_price ' => [
162
+ 'value ' => $ orderItem ->getPrice (),
163
+ 'currency ' => $ associatedOrder ->getOrderCurrencyCode ()
164
+ ],
165
+ 'selected_options ' => $ itemOptions ['selected_options ' ],
166
+ 'entered_options ' => $ itemOptions ['entered_options ' ],
167
+ 'quantity_ordered ' => $ orderItem ->getQtyOrdered (),
168
+ 'quantity_shipped ' => $ orderItem ->getQtyShipped (),
169
+ 'quantity_refunded ' => $ orderItem ->getQtyRefunded (),
170
+ 'quantity_invoiced ' => $ orderItem ->getQtyInvoiced (),
171
+ 'quantity_canceled ' => $ orderItem ->getQtyCanceled (),
172
+ 'quantity_returned ' => $ orderItem ->getQtyReturned (),
173
+ ];
174
+ }
175
+
151
176
}
152
177
153
178
return $ this ->orderItemList ;
0 commit comments