Але що робити, якщо необхідно за всяку 404 відповідь обробляти в єдиному стилі? На допомогу нам приходять нехитрі інструкції, якими ми і скористаємося.
Після чого потрібно визначитися, чи буде наша сторінка з помилкою в стилі сайту, або вона буде повністю мати свій власний стиль.
Сторінка 404 в стилі сайту
Почнемо з першого варіанту. Для цього відкриємо init.php і запишемо туди наступний код:
Отже, що ж робить код вище. По-перше, ми повісили обробник на подію OnEpilog. тобто на той момент, коли сторінка вже буде оброблена і скомпонована. У ньому ми вказали назву нашої функції My404PageInSiteStyle. яка буде відповідати за виведення тексту 404 помилки.
Далі ми переходимо безпосередньо до нашої функції. Що ж там відбувається. Спочатку ми перевіряємо, чи була визначена константа, яка вказує на те, що запитувана вміст не знайдено - ERROR_404. Якщо така константа є, то ми робимо наступне:
- Перезапускаємо буфер, щоб повністю очистити поточну компоновку і сформувати нову;
- Підключаємо header.php нашого шаблону;
- Підключаємо файл 404.php в якому зберігається якийсь наш контент, - будь то текст або картинка, - який сповістить користувача, що такої сторінки немає;
- Підключаємо footer.php нашого шаблону;
Потім прогружаются знову сформована сторінка в стилі нашого сайту, в тематичній частині якої буде виведений текст з файлу 404.php. Цей файл може лежати де завгодно, називатися як завгодно. Але звичніше називати його саме так і зберігати в кореневій директорії сайту.
Сторінка 404 з індивідуальним дизайном
Останнім часом багато хто став робити сторінку з 404 помилкою в своєму оформленні, не прив'язуючись до стилю сайту. Власне, мій блог не виняток.
Навіщо це робиться? Якщо розглядати цей аспект з точки зору просування, то це робиться для того, щоб направити користувача на потрібні розділи або сторінки, якщо він якимось чином випадково потрапив на неіснуючу сторінку.
На такій сторінці оптимізатори проставляють посилання, щоб людина не пішла, а продовжив відвідування сайту.
Але також це робиться, щоб просто не навантажувати відвідувача непотрібною інформацією і не вводити в ступор. Часом буває заходиш на сайт, клацаєш щодо необхідної посиланням і потрапляєш на якусь дивну сторінку. І начебто ти на сайті, начебто помилок немає, але інформацію ти ніяку не отримав. Ось і шукаєш очима, починаєш дивитися, шукати. І не знаходиш. Природно бажання знову повертатися на такий сайт різко пропадає.
Щоб відвідувачеві конкретно вказати, що він потрапив на неіснуючу сторінку, її і намагаються виділити якимось індивідуальним дизайном, щоб "розворушити" відвідувача і дати зрозуміти, що він заблукав кудись не туди.
Давайте трохи модифікуємо код вище, для того, щоб у нас була можливість робити свої власні сторінки з 404 помилкою не в стилях сайту.
Як бачите, все дуже просто. Ми всього лише прибрали підключення header.php і footer.php. тим самим шаблон нашого сайту не буде завантажуватися. А завантажиться тільки вміст файлу 404.php.
Правила оформлення файлу 404.php в 1С-Бітрікс
Коли ми визначилися з тим, як буде виглядати наша сторінка 404 помилки, необхідно її підготувати.
Найважливіше тут - це встановити статус 404 помилки, інакше сторінка вам буде видаватися з кодом відповіді 200 ОК. що є зовсім недобре.
Ось та мінімальна програмна частина, яка повинна бути вказана на початку файлі 404.php:
Що тут відбувається:
- Тут ми підключаємо файл prolog_before.php. щоб, якщо знадобиться, ми могли користуватися різними змінними, константами і методами 1С-Бітрікс. Наприклад, підключити модуль інформаційних блоків і покласти сюди компонент з виведення випадкових елементів;
- Далі ми підключаємо файл urlrewrite.php. який буде обробляти наш урл;
- Після цього найважливіше - ми встановлюємо статус і заголовок відповіді 404 Not Found;
- І про всяк випадку ще раз визначимо константу 404 помилки. А щоб не було помилок, поставимо перед нею собачку;
Після цього ви можете вже верстати 404 сторінку як вам завгодно. Ось вам невеличка "риба" заготовка:
Ну ось, тепер ви легко зможете створювати в 1С-Бітрікс будь-які сторінки 404 помилки, які тільки захочете.