protected function parseItems($jsonObject, ModelFactoryInterface $factory) { $products = []; if (!empty($jsonObject->products)) { foreach ($jsonObject->products as $productId => $jsonProduct) { $products[$productId] = $factory->createProduct($jsonProduct); } } $this->products = $products; $vids = []; if (!empty($jsonObject->order_lines)) { foreach ($jsonObject->order_lines as $index => $jsonItem) { if (isset($jsonItem->set_items)) { $item = $factory->createWishListSet($jsonItem, $products); } else { $vids[] = $jsonItem->variant_id; $item = $factory->createWishListItem($jsonItem, $products); } if ($item->hasErrors()) { $this->errors[$index] = $item; } else { $this->items[$item->getId()] = $item; } } } $vids = array_values(array_unique($vids)); $this->uniqueVariantCount = count($vids); }