@extends('frontend.main_master') @php $primary = $product->images->firstWhere('is_primary', true) ?? $product->images->first(); [$minPrice, $maxPrice] = $product->effectivePriceRange(); // Galeri: primary görsel her zaman ilk sırada (ana görsel + lightbox index'i eşleşsin diye) $galleryImages = $product->images->count() ? collect([$primary])->merge($product->images->reject(fn ($img) => $primary && $img->id === $primary->id))->filter()->values() : collect(); $galleryImagesForJs = $galleryImages->map(fn ($img) => [ 'src' => asset($img->path), 'alt' => $product->name, ])->values(); // Varyant eksenleri (v1: sadece size/color) — kullanılan tüm değerleri topla $axisLabels = ['size' => 'Beden', 'color' => 'Renk']; $axes = []; foreach ($product->variants as $variant) { foreach ((array) $variant->options as $key => $value) { $axes[$key][$value] = $value; } } @endphp @section('body-class', 'store-page-shell') @section('title', ($product->meta_title ?: $product->name) . ' | ' . t('site-title')) @section('meta_description', $product->meta_description ?: \Illuminate\Support\Str::limit(strip_tags((string) $product->short_description), 155)) @push('schema') @endpush @push('styles') @endpush @section('content')
@if ($galleryImages->count() > 1)
@foreach ($galleryImages as $index => $image) {{ $product->name }} @endforeach
@endif
@if ($product->category) {{ $product->category->name }} @endif

{{ $product->name }}

@if (!$product->has_variants && $product->sku)
Stok Kodu: {{ $product->sku }}
@endif @if ($product->short_description)

{{ $product->short_description }}

@endif
@if ($minPrice == $maxPrice) {{ number_format($minPrice, 2, ',', '.') }} ₺ @else {{ number_format($minPrice, 2, ',', '.') }} ₺ – {{ number_format($maxPrice, 2, ',', '.') }} ₺ @endif
@csrf @if ($product->has_variants) @foreach ($axes as $axisKey => $values)
@foreach ($values as $value) {{ $value }} @endforeach
@endforeach
Lütfen bir seçenek belirleyin.
@else
@if ($product->isInStock()) Stokta ({{ $product->stock }} adet) @else Tükendi @endif
@endif
@if ($product->description)

{!! $product->description !!}
@endif

Siparişiniz onaylandıktan sonra özenle paketlenip anlaşmalı kargo firmamıza teslim edilir. Kargo takip bilginiz, kargoya veriliş sonrasında sipariş sayfanızda görüntülenir. Teslimat süreleri ve bölgesel istisnalar hakkında detaylı bilgi için Teslimat Şartları sayfamızı inceleyebilirsiniz.

Ürünlerinizden memnun kalmadıysanız, mesafeli satış sözleşmesi kapsamındaki cayma hakkınızı kullanarak iade talebinde bulunabilirsiniz. İade koşulları, süreler ve süreç adımları için İade Politikası sayfamıza göz atabilirsiniz.

Ödemeleriniz 256-bit SSL ile şifrelenmiş güvenli bağlantı üzerinden, 3D Secure destekli sanal pos altyapımız ile işlenir. Kart bilgileriniz tarafımızda saklanmaz.
@if ($relatedProducts->count() > 0) @endif
@if ($galleryImages->count() > 0) @php $galleryImagesForJsJson = $galleryImagesForJs; @endphp @endif @if ($product->has_variants) @php $variantsForJs = $product->variants->map(function ($v) { return [ 'id' => $v->id, 'options' => (object) $v->options, 'price' => $v->effectivePrice(), 'stock' => $v->stock, ]; })->values(); @endphp @endif @endsection