{{-- Левая колонка: изображения --}}
@php $images = is_array($product->images) ? $product->images : json_decode($product->images ?? '[]', true); $images = $images ?? []; @endphp
{{-- Правая колонка --}}

{{ $product->name }}

${{ number_format($product->price, 2) }}

@php $reviewsCount = $product->reviews->count(); $averageRating = $reviewsCount > 0 ? round($product->reviews->avg('rating')) : 0; @endphp
@for($i = 1; $i <= 5; $i++) @endfor
@if($reviewsCount > 0) ({{ $reviewsCount }}) @else (0) @endif

{{ $product->description }}

{{-- Выбор памяти --}} @if($product->variants && $product->variants->count() > 0)
Выберите память
@foreach($product->variants as $variant) @endforeach
@endif {{-- Выбор цвета --}}
Выберите цвет
@foreach($product->colors as $color) @php $colorImages = is_array($color->images) ? $color->images : json_decode($color->images, true); $thumbImage = $colorImages[0] ?? ($product->images[0] ?? 'no-image.png'); $relatedUrl = $color->related_product_id ? route('product.show', ['id' => $color->related_product_id]) : '#'; $isActive = $color->related_product_id === $product->id || (!$color->related_product_id && $loop->first); @endphp @endforeach
{{-- Форма корзины --}}
@csrf
Полные характеристики
@foreach(explode("\n", $product->full_description) as $line) @if(str_contains($line, ':')) @php [$key, $value] = array_map('trim', explode(':', $line, 2)); @endphp @else @endif @endforeach
{{ $key }} {{ $value }}
{{ trim($line) }}
@if($reviewsCount > 0)

Отзывы о товаре

@foreach($product->reviews as $review)
{{ $review->author }}
@for($i = 1; $i <= 5; $i++) @endfor

{{ $review->review }}

{{ $review->created_at->format('d.m.Y') }}
@endforeach
@endif

Оставить отзыв на этот товар

Поделитесь мнением с другими покупателями

@if(session('success'))
{{ session('success') }}
@endif
@csrf

Возможно, вас это заинтересует

@foreach($relatedProducts as $related) @php $images = json_decode($related->images, true); $firstImage = $images[0] ?? null; // Получаем средний рейтинг одобренных отзывов $averageRating = $related->reviews()->where('approved', true)->avg('rating'); $fullStars = floor($averageRating); $halfStar = $averageRating - $fullStars >= 0.5; @endphp
{{ $related->name }}
{{ $related->name }}

${{ number_format($related->price, 2) }}

@for ($i = 1; $i <= 5; $i++) @if($i <= $fullStars) @elseif($i == $fullStars + 1 && $halfStar) @else @endif @endfor
@csrf
@endforeach