{{-- Blade-шаблон блока «Витрина автомобилей». $data: label — надпись над заголовком heading — заголовок секции car_ids — массив ID авто (int[]) в нужном порядке Рендерит карточки в том порядке, в котором они выбраны в админке. Запрашивает актуальные данные из БД при каждой сборке HTML для кеша. --}} @php $carIds = array_filter(array_map('intval', $data['car_ids'] ?? [])); // Загружаем авто одним запросом, затем упорядочиваем по выбранному порядку $carsById = $carIds ? \App\Models\Car::whereIn('id', $carIds)->get()->keyBy('id') : collect(); $orderedCars = collect($carIds)->map(fn ($id) => $carsById->get($id))->filter(); $fuelLabels = ['petrol' => 'Бензин', 'diesel' => 'Дизель', 'hybrid' => 'Гибрид', 'electric' => 'Электро', 'gas' => 'Газ']; $countryFlags = [ 'Япония' => '🇯🇵', 'Германия' => '🇩🇪', 'США' => '🇺🇸', 'Южная Корея' => '🇰🇷', 'Китай' => '🇨🇳', 'Швеция' => '🇸🇪', 'Франция' => '🇫🇷', 'Великобритания' => '🇬🇧', 'Италия' => '🇮🇹', ]; @endphp @if ($orderedCars->isNotEmpty())
@if (($data['label'] ?? '') || ($data['heading'] ?? ''))
@if ($data['label'] ?? '')
{{ $data['label'] }}
@endif @if ($data['heading'] ?? '')

{{ $data['heading'] }}

@endif
@endif
@foreach ($orderedCars as $car) @include('pages.partials._car_card', [ 'car' => $car, 'fuelLabels' => $fuelLabels, 'countryFlags' => $countryFlags, ]) @endforeach
@endif