fetchOne("SELECT * FROM pages WHERE slug = ? AND is_homepage = 0", [$slug]); // Если страница не найдена, возвращаем 404 if (!$currentPage) { http_response_code(404); die('404 - Page not found'); } // Получаем данные из настроек $content = (new Settings('content'))->getAll(); // Получаем SEO данные для страницы $seo = $seoMetaModel->getForRecord('page', $currentPage['id']) ?: []; // Контент страницы $pageContent = $currentPage['content'] ?? ''; // Получаем топ контент если есть $topContent = $currentPage['top_content'] ?? ''; // Получаем FAQ для этой страницы $faqItems = $faqModel->getByMorphable('page', $currentPage['id']); // Данные для домена $currentDomain = getCurrentDomain(); $currentUrl = getCurrentUrl(); // Определение типа пользователя $ip = getUserIp(); $isSearchBot = preg_match('/bot|crawl|slurp|spider/i', $_SERVER['HTTP_USER_AGENT'] ?? ''); // Определяем лейаут страницы $layout = \App\Enums\PageLayout::tryFrom($currentPage['layout'] ?? 'default') ?? \App\Enums\PageLayout::Default; $layoutFile = $layout->viewPath(); return ViewRender($layoutFile, [ 'content' => $content, 'seo' => $seo, 'faqItems' => $faqItems, 'pageContent' => $pageContent, 'pageData' => $currentPage, 'topContent' => $topContent, 'currentDomain' => $currentDomain, 'currentUrl' => $currentUrl, 'isHomepage' => false, 'isSearchBot' => $isSearchBot, 'userIp' => $ip, ]);