доставка в плавающем

This commit is contained in:
Alisa
2026-06-08 10:58:47 +03:00
parent 3a065b34d6
commit 256afcbb80
18 changed files with 1478 additions and 187 deletions
+50
View File
@@ -45,6 +45,56 @@ final class CatalogController
]);
}
public function promo(): void
{
$categoryRepository = new CategoryRepository();
$productRepository = new ProductRepository();
$pagination = $this->paginationInput();
$listing = $productRepository->promoListing($pagination['limit'], $pagination['offset']);
view('catalog/index', [
'title' => 'Акции Рыбсток - продукты по стоковым ценам с доставкой',
'metaDescription' => 'Акционные товары Рыбсток: рыба, морепродукты, мясо, сыры, икра, полуфабрикаты и бакалея по стоковым ценам с доставкой по Москве и Московской области.',
'metaKeywords' => 'акции Рыбсток, скидки на рыбу, продукты по акции Москва, рыба морепродукты мясо сыры по стоковым ценам',
'breadcrumbs' => [
['title' => 'Главная', 'url' => '/'],
['title' => 'Акции'],
],
'categories' => $categoryRepository->tree(),
'currentCategory' => null,
'catalogHeading' => 'Акции',
'catalogEyebrow' => 'Подборка',
'catalogLead' => 'Товары с акционной витриной и перечеркнутой ценой. Итоговая цена в корзине дополнительно зависит от выбранного способа оплаты.',
'products' => $listing['products'],
'pagination' => $this->paginationData('/promo', $listing['total'], count($listing['products']), $pagination),
]);
}
public function newest(): void
{
$categoryRepository = new CategoryRepository();
$productRepository = new ProductRepository();
$pagination = $this->paginationInput();
$listing = $productRepository->newListing($pagination['limit'], $pagination['offset']);
view('catalog/index', [
'title' => 'Новинки Рыбсток - последние поступления на склад',
'metaDescription' => 'Новые поступления Рыбсток: свежие позиции каталога, новые фасовки и товары, недавно добавленные на склад с доставкой по Москве и Московской области.',
'metaKeywords' => 'новинки Рыбсток, новые поступления рыбы, свежие поступления морепродуктов, новые товары склад продуктов Москва',
'breadcrumbs' => [
['title' => 'Главная', 'url' => '/'],
['title' => 'Новинки'],
],
'categories' => $categoryRepository->tree(),
'currentCategory' => null,
'catalogHeading' => 'Новинки',
'catalogEyebrow' => 'Последние поступления',
'catalogLead' => 'Последние добавленные позиции и товары, у которых изменилась фасовка. Новинки помогают быстро увидеть, что недавно появилось на складе.',
'products' => $listing['products'],
'pagination' => $this->paginationData('/new', $listing['total'], count($listing['products']), $pagination),
]);
}
public function search(string $query): void
{
$_GET['q'] = trim($query);