Николаев Виталий
Блог веб-разработчика: Битрикс, PHP, Python, Linux и SEO
Битрикс Битрикс
14.03.2018

Битрикс. Настройка внешнего вида дополнительных элементов оформления сайта

Настройка сообщений об ошибках в 1С-Битрикс

В 1С-Битрикс можно отдельно настраивать:

  • ошибку подключения к базе данных;
  • ошибки SQL-запросов;
  • страницу закрытого сайта;
  • внешний вид постраничной навигации.

Многие из этих файлов можно переопределить без изменения ядра Битрикс.

Ошибка соединения с базой данных

За отображение ошибки подключения к БД отвечает файл:

/bitrix/php_interface/dbconn_error.php

Этот файл выводится, если Битрикс не смог подключиться к MySQL.

Когда появляется dbconn_error.php

  • не работает MySQL;
  • неверный пароль БД;
  • ошибка в dbconn.php;
  • сервер базы недоступен;
  • переполнена база;
  • ошибка подключения к сокету.

Пример кастомной страницы ошибки БД

<h1>Сайт временно недоступен</h1>

<p>
    Проводятся технические работы.
    Попробуйте зайти позже.
</p>

Ошибка SQL-запроса

За отображение ошибки SQL-запроса отвечает файл:

/bitrix/php_interface/dbquery_error.php

Он подключается, если произошла ошибка выполнения SQL.

Когда используется dbquery_error.php

  • ошибка SQL-синтаксиса;
  • отсутствует таблица;
  • неверное поле;
  • битый запрос;
  • ошибка ORM;
  • ошибка миграций.

Важно для production

На рабочем сайте не рекомендуется выводить:

  • SQL-запросы;
  • stack trace;
  • пути к файлам;
  • данные базы.

Лучше показывать:

  • красивую страницу ошибки;
  • логировать ошибки в файл;
  • отправлять уведомления разработчику.

Настройка страницы закрытого сайта

При закрытии публичной части сайта Битрикс использует файл:

/bitrix/modules/main/include/site_closed.php

Но изменять файл ядра напрямую не рекомендуется.

Как правильно переопределить site_closed.php

Нужно:

  • скопировать файл;
  • поместить его в php_interface.

Например:

/bitrix/php_interface/include/site_closed.php

Или:

/bitrix/php_interface/<язык>/site_closed.php

Что можно изменить в заглушке

  • HTML;
  • CSS;
  • логотип;
  • контакты;
  • форму обратной связи;
  • таймер;
  • информацию о техработах.

Настройка постраничной навигации

Постраничная навигация в старых компонентах Битрикс выводится функцией:

NavPrint()

Сигнатура функции NavPrint

NavPrint(
    $title,
    $show_allways = false,
    $StyleText = "text",
    $template_path
)

Параметры NavPrint

$title

Заголовок элементов навигации.

$show_allways

Если:

false

навигация не выводится, если все элементы помещаются на одну страницу.

Если:

true

навигация показывается всегда.

$StyleText

CSS-класс для оформления навигации.

$template_path

Путь к шаблону навигации.

Пример NavPrint

<?
$rsElements->NavPrint(
    "Страницы",
    true,
    "modern-nav",
    "/local/templates/.default/nav/"
);
?>

Где используется NavPrint

  • старые компоненты Битрикс;
  • самописные выборки;
  • CIBlockElement::GetList();
  • каталоги;
  • новости;
  • списки элементов.

Современная навигация

В новых компонентах чаще используется:

$arResult["NAV_STRING"]

или:

bitrix:system.pagenavigation

Итог

В 1С-Битрикс можно гибко настраивать:

  • страницы ошибок БД;
  • ошибки SQL-запросов;
  • страницу закрытого сайта;
  • внешний вид постраничной навигации.

Причем большинство настроек можно реализовать без изменения ядра системы.

3 просмотров

Комментарии

Где заказы?
Почему у одних компаний очередь из клиентов, а у других пустой сайт и тишина?
Телеграм канал «Где заказы?» — про продажи, сайты и ошибки бизнеса на реальных примерах. Подписаться