| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- {{--
- Blade-шаблон блока «Отзывы клиентов».
- $data:
- label — надпись над заголовком
- heading — заголовок секции
- review_ids — массив ID отзывов (из таблицы reviews), выбранных в admin
- Отзывы загружаются из БД по ID, только is_active=true.
- Управление отзывами — раздел «Отзывы» в AdminLTE (ReviewAdminController).
- --}}
- @php
- $reviewIds = array_map('intval', $data['review_ids'] ?? []);
- $items = collect();
- if (!empty($reviewIds)) {
- $items = \App\Models\Review::whereIn('id', $reviewIds)
- ->where('is_active', true)
- ->orderBy('sort_order')
- ->orderByDesc('created_at')
- ->get();
- }
- @endphp
- @if ($items->isNotEmpty())
- <section class="reviews-section">
- <div class="container">
- @if (($data['label'] ?? '') || ($data['heading'] ?? ''))
- <div class="sh reveal">
- @if ($data['label'] ?? '')
- <div class="sh-label">{{ $data['label'] }}</div>
- @endif
- @if ($data['heading'] ?? '')
- <h2>{{ $data['heading'] }}</h2>
- @endif
- </div>
- @endif
- <div class="reviews-grid stagger">
- @foreach ($items as $review)
- @php $stars = max(1, min(5, $review->rating)); @endphp
- <div class="review-card">
- {{-- Марка авто --}}
- @if ($review->car_name)
- <div class="review-car">{{ $review->car_name }}</div>
- @endif
- {{-- Звёзды --}}
- <div class="review-stars">
- @for ($i = 1; $i <= 5; $i++)
- <span>{{ $i <= $stars ? '★' : '☆' }}</span>
- @endfor
- </div>
- {{-- Текст отзыва --}}
- <div class="review-text">{{ $review->body }}</div>
- {{-- Автор + дата --}}
- <div class="review-author">
- <div class="review-av">
- {{ mb_strtoupper(mb_substr($review->author, 0, 1)) }}
- </div>
- <div>
- <div class="review-name">{{ $review->author }}</div>
- @if ($review->review_date)
- <div class="review-date">{{ $review->review_date->format('d.m.Y') }}</div>
- @endif
- </div>
- </div>
- </div>
- @endforeach
- </div>
- </div>
- </section>
- @endif
|