Студия дизайна — ключ к хорошему сайту
Перекрасить!
Включаемые области CMS Битрикс

Если говорить про удобство сборки страницы сайта из составных частей, то простота управления однотипными и повторяющимися частями — это главный балл в пользу перехода с обычной вёрстки на систему управления сайтом (CSM). Когда даже самый простой сайт-визитка с неполным десятком HTML-страниц не редко требует внесения изменения в шапку или подвал сайта, рабочий процесс тем сложнее, чем больше страниц и изменений нужно внести. HTML-кодер в такие моменты проклинает статические файлы и мечтает: «...эх, если бы в одном месте поменял, и кругом применилось...». А если изменение оказалось не полным, либо выполнено с ошибкой? Или заменить нужно не просто один текст в пол года, а вносить изменения каждый день? Пусть даже раз неделю. Верстальщик выкуривает лишнюю сигарету, закатывает глаза, стискивает зубы и перебирает каждую страницу заново. Болезненной является и ситуация создания новых страниц — это и создание копии из шаблонных элементов и разрастание поля редактирования при внесении изменений в будущем. В плане простоты управления повторяющимися частями, слежения и управления структурой сайта — приоритетный плюс CMS.

С усложнением самого сайта, вёрстки, вводом новых сервисов работы прибавляется. А если нужны различные вёрстки для различных разделов? Например: общий раздел и персональный кабинет пользователя должны по задуму дизайнера иметь разные внешние виды. А если в одной и той же вёрстке определённые части страницы должны появляться по различным правилам, например: в левой колонке для обычных пользователей отображаются последние новости, а для пользователей партнёров — новости от диллеров и поставщиков? И к шапке свои требования, и в подвале сайта свои правила. Настройками програмного кода (компонентов) не перекрыть все ситуации. На помощь приходят включаемые области.

Основной принцип работы включаемых областей.

При проектировании основного каркаса сайта — будь-то двохколонник с шапкой и подвалом или трёхколонник — всегда найдутся части страницы, к которым особое требование. Классический пример: копирайт-данные в подвале сайта. Они должны отображаться на всех страницах, автоматически создаваться в новых разделах и страницах, редактироваться одной операцией с отображением изменений на всех страницах сайта. В данном случае в каркасе (шаблоне) сайта предусматривается включаемая область. При сборке страницы в данном месте подключается указанный в настройках файл. Каждая новая страница, собираемая на том же шаблоне, автоматически наследует данное правило и опять же подключает в указанное место нужный файл. Таким образом, мы приходим к ситуации, когда страниц много, а файл, содержащий копирайт-данные — один. Соответственно, и при редактировании данных: достаточно в этом файле внести изменения и при последующей сборке любой из страниц сайта, изменения отобразятся в публичном разделе.

Включаемые области для страниц.

Используется для ситуаций, когда определённый текст или сегмент програмного кода нужно отображать только для определённого файла (страницы). Возьмём в качестве примера раздел новостей. Список анонсов новостей отображает индексный файл раздела: index.php. А новость детально — detail.php. Стоит задача: для страницы с подробным текстом новости в левой колонке сайта отображать последние анонсы (чтобы не возвращаться каждый раз на список новостей). Здесь и подойдёт включаемая область для файла. Настроить её следует на файл detail.php, тогда при отображении файла index.php текст отображаться не будет.

Включаемые области для разделов.

Исходя из определения, данная включаемая область действует для всех страниц в разделе. В том числе и для всех внутренних страниц раздела, если для них не определена индивидуальная включаемая область. В качестве примера рассмотрим действие включаемой области на сайте в случае просмотра главной страницы, раздела новостей и разделы вакансий. Внимание фокусируем на левой колонке. Задача состоит в том, чтобы на главной странице публиковать анонсы новостей и анонсы вакансий, в разделе вакансий давать анонсы новостей, а в разделе новостей давать анонсы вакансий. В этом случае создаётся три различные включаемые области. Одна помещается в главную папку сайта, вторая в раздел новостей и третья в раздел вакансий. Редактируя включаемую область для каждого раздела, мы добиваемся индивидуальности отображаемой информации.

Преимущество включаемых областей для разделов перед включаемыми областями для страниц в том, что они поддерживают рекурсию: если в шаблоне сайта содержится команда подключить включаемую область для раздела, а при отображении страницы сайта програмный код не нашёл включаемой области в конкретном разделе, она ищет её в родительском разделе и так далее до главной страницы, пока не найдёт необходимый файл. Если вся структура была проверена и файл не найден — команда подключить включаемую область пропускается. То есть: если на сайте, описанном в примере выше, создать новый раздел, например: контактная информация, но не создать для него индивидуальную включаемую область, програмный код будет искать файл, который нужно подключить, в родительском разделе и в результате будет подключена включаемая область, размещённая в главной папке каталога: отображение анонсов новостей и анонсов вакансий.

Организационный момент, на который мы обращаем внимание: при сдаче проекта рекомендуется запрашивать у разработчика карту включаемых областей. Это позволит сэкономить время администраторам заказчика, потраченное на понимание каркаса структуры сайта.