Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Как оформить страницу 404

Супер пользователь
Сообщений: 87
Здравствуйте!
Сейчас у меня в шаблоне Bootstrap выводится во время ошибки 404 простое сообщение. Для большей эффективности хотелось бы оформить страницу ошибки 404 по подобию главной, чтобы и навбар был виден, и боковые блоки, и футер, и в поле контента можно было вставить приветствие с направляющими ссылками. В общем, чтобы страница 404 была частью сайта.
Подскажите, пожалуйста, как это сделать?
Супер пользователь
Сообщений: 171
а у Вас есть templates/bootstrap/404.html
наверное можно добавить к нему header.html footer.html
и все что Вам угодно.

или из на основе копии theme.html сделайте 404.html с Вашими изменениями

-- Изменено "MEN": 05.09.2015 17:28 --
Супер пользователь
Сообщений: 87
MEN, я попробовал по-вашему «добавить к нему header.html», скопировав код из header.html в body 404.html, не получается цельная страница сайта, всё то же простое сообщение. Попробовал и из theme.html скопировать, ничего не выходит, как было простое сообщение, так и остается.

-- Изменено "Антонъ": 05.09.2015 17:36 --
Супер пользователь
Сообщений: 171
А Вы не смотрели в сторону папки errorpages там тоже есть 404.html
скорее всего оттуда и берется шаблон 404

а шаблон templates/bootstrap/404.html это наверное устаревший и не нужный

-- Изменено "MEN": 05.09.2015 18:56 --
Супер пользователь
Сообщений: 87
MEN:
папки errorpages там тоже есть 404.html

Да, смотрел, там точно такой же шаблон простого сообщения.
Разработчик
Сообщений: 605
Во-первых, отличайте ошибку 404, которую выводит веб-сервер, от ошибки, произошедшей в движке. Там все же разные механизмы.

При ошибке, произошедшей в движке (то есть запрос шел на index.php и движок его отрабатывал), он пытается вывести 404.html а-ля как theme.html. Так что можно просто привести страницу ошибок к ее содержанию с сообщением об ошибке.

Если ошибка происходит на уровне веб сервера (например, не найден запрошенный клиентом файл), то согласно правилам .htaccess он выводит файл из папки errorpages. Тут уж вы особо с блоками не разыграетесь, ибо страница статичная. Если не городить энтерпрайзов, то в таком случае можно создать статическую страницу в линкоре и перенаправлять на нее правилами .htaccess.

Кстати, если движок не находит файл 404.html в папке с темой, то он спокойно выплевывает аналог из папки errorpages без всяких там подключений шаблонизатора (то есть, как есть).
Супер пользователь
Сообщений: 87
Мартин, понятно, жаль, что не получится просто оформить 404-страницу. Просто у меня после переноса сайта практически все ссылающиеся на него внешние ссылки в интернете стали неправильными, и когда люди переходят по ним, то видят только сообщение о 404, и наверняка закрывают его, и на этом всё и заканчивается. А полноценная сайтовая страница, с навбаром, меню и блоками, удержала бы этих посетителей на сайте.
Разработчик
Сообщений: 286
Антонъ Расскажу как сделать, чтобы страница показывалась по умолчанию при ошибке 404.

Создайте страницу (в админ-панели, модуль страницы) и в поле ссылка напишите 404.
Откройте файл base/inc/system/location.php, найдите в конце файла функцию Error404, добавьте после строчки Header("HTTP/1.1 404 Not Found"); следующий код:
$_GET = array('name'=>'pages', 'file'=>'404');
System::site()->InitPage();
include 'modules/pages/index.php';
System::site()->TEcho();
if($Exit) exit; else return;

Напоследок откройте modules/pages/index.php и перед строчкой 62 "System::site()->AddTextBox...",
напишите Error404();

-- Изменено "Агний": 06.09.2015 08:34 --
Супер пользователь
Сообщений: 87
Агний, спасибо вам огромное, всё получилось! Совсем другое дело!
Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
Здесь присутствуют
(пользователей: 0, гостей: 1)
Быстрый переход: