variables['products'] ?? []; $productsData = []; foreach ($products as $product) { $categories = []; if ($product->getCategories()) { foreach ($product->getCategories() as $category) { $categories[] = [ 'uid' => $category->getUid(), 'title' => $category->getTitle(), ]; } } $image = null; if ($product->getProductimage() && $product->getProductimage()->count() > 0) { $imageObject = $product->getProductimage()->current(); $image = [ 'uid' => $imageObject->getUid(), 'url' => $imageObject->getOriginalResource()->getPublicUrl(), 'title' => $imageObject->getTitle(), 'alternative' => $imageObject->getAlternative(), 'description' => $imageObject->getDescription(), ]; } $productsData[] = [ 'uid' => $product->getUid(), 'title' => $product->getTitle(), 'subtitle' => $product->getSubtitle(), 'teaser' => $product->getTeaser(), 'description' => $product->getDescription(), 'slug' => $product->getSlug(), 'categories' => $categories, 'image' => $image, ]; } return json_encode([ 'products' => $productsData, ], JSON_THROW_ON_ERROR); } }