58 lines
2.7 KiB
PHP
58 lines
2.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Core\Database;
|
|
use App\Repositories\CategoryRepository;
|
|
use App\Repositories\ProductRepository;
|
|
use App\Repositories\SettingRepository;
|
|
use Throwable;
|
|
|
|
final class HomeController
|
|
{
|
|
public function index(): void
|
|
{
|
|
$dbStatus = 'not_checked';
|
|
$categories = [];
|
|
$catalogProducts = [];
|
|
$popularProducts = [];
|
|
$settings = [];
|
|
$notice = null;
|
|
|
|
try {
|
|
Database::pdo()->query('SELECT 1');
|
|
$dbStatus = 'connected';
|
|
|
|
$categories = (new CategoryRepository())->tree();
|
|
$productRepository = new ProductRepository();
|
|
$catalogProducts = $productRepository->catalogPreview(24);
|
|
$popularProducts = $productRepository->popularPreview(10);
|
|
$settings = (new SettingRepository())->allKeyed();
|
|
} catch (Throwable $exception) {
|
|
$dbStatus = app_env('APP_DEBUG', 'false') === 'true'
|
|
? 'error: ' . $exception->getMessage()
|
|
: 'error';
|
|
$notice = 'Если таблицы еще не созданы, откройте страницу установки базы.';
|
|
}
|
|
|
|
view('pages/home', [
|
|
'title' => 'Рыбсток - качественные продукты по стоковым ценам с доставкой',
|
|
'metaDescription' => 'Рыбсток - интернет-склад качественной рыбы, морепродуктов, мяса, сыров, овощей, ягод и бакалеи по стоковым ценам. Бесплатная доставка по Москве и Московской области, самовывоз с ул. Привольная.',
|
|
'metaKeywords' => 'Рыбсток, рыба доставка Москва, морепродукты доставка Москва, мясо доставка Москва, сыры доставка, икра доставка Москва, овощи ягоды заморозка, бакалея с доставкой, продукты по стоковым ценам, интернет склад продуктов, бесплатная доставка продуктов Москва, доставка продуктов Московская область',
|
|
'breadcrumbs' => [
|
|
['title' => 'Главная'],
|
|
],
|
|
'showBackButton' => false,
|
|
'dbStatus' => $dbStatus,
|
|
'categories' => $categories,
|
|
'catalogProducts' => $catalogProducts,
|
|
'popularProducts' => $popularProducts,
|
|
'settings' => $settings,
|
|
'notice' => $notice,
|
|
'buildVersion' => '2026-06-04-02',
|
|
]);
|
|
}
|
|
}
|