@php
$prices = app(\Korzilla\Modules\Site\Catalog\PriceResolver::class)
->resolveMany($items->pluck('id')->all());
$settings = app(\Korzilla\Core\Settings\SettingsRepository::class);
$currency = $settings->string('catalog.currency_suffix', '₽');
$noPrice = $settings->string('catalog.no_price_label', 'Цена по запросу');
$purchase = app(\Korzilla\Modules\Site\Catalog\PurchaseActions::class);
@endphp
@php
$facets = app(\Korzilla\Modules\Site\Catalog\FacetEngine::class)->forSection($section->id);
$filterUrl = app(\Korzilla\Modules\Site\Catalog\CatalogFilterUrl::class);
// Выбранные варианты берутся из адреса: ЧПУ-фильтр — это и есть состояние
// страницы, а не украшение поверх строки запроса.
$selected = $filterUrl->parse((string) request()->attributes->get('kz_path_tail', '')) ?? [];
@endphp
{{ $heading ?? $section->name }}
@if ($facets !== [])
{{-- Счётчики берутся из витрины и показываются как ориентир: сам
список товаров всегда строится живым запросом. --}}
@endif
@if ($items->isEmpty())
В этом разделе пока нет товаров.
@else
@foreach ($items as $item)
@php($photo = $item->firstMedia('photo'))
@include('platform::partials.card-media', ['media' => $photo, 'alt' => $item->name])
{{ $item->name }}
@if ($item->article)
Артикул: {{ $item->article }}
@endif
{{-- Цены на всю страницу подняты одним запросом выше. --}}
@include('catalog::partials.price', [
'price' => $prices[$item->id] ?? null,
'currency' => $currency,
'class' => 'kz-card__price',
'none' => $noPrice,
])
{{ $item->in_stock ? 'В наличии' : 'Под заказ' }}
{{-- Кнопку рисует тот, кто умеет продавать: каталог только
сообщает, каким способом покупается этот товар. Магазин
выключен — товар просто без кнопки. --}}
{!! $purchase->render($item) !!}
@endforeach
@endif
{{ $items->links() }}