Main-шаблон представляет собой удобный способ работы с HTML-структурой сайта. Фактически в main-шаблоне выполнена разметка модульной сетки сайта, что сегодня является обязательным требованием качественной верстки. Структурно основной main-шаблон состоит из:
- Основного контейнера div.all и wrap-блока div.all-wrap. Эти блоки по сути дублируют BODY, но используются в верстке, когда сайт располагается не на всю ширину браузера или где требуется создать сложную границу (особенно с фоном).
- Блок div.header-main, который оборачивает секции header и main.
- Блок шапки div.header.
- Блок div.main, который содержит вывод контента (div.content) и сайдбара (div.sidebar).
- Подвал сайта в виде div.footer.
Как показывает опыт, текущей HTML-разметки достаточно для решения практически всех задач вебмастера, поэтому рекомендуется её не менять, а использовать возможности CSS-верстки.
Шаблон может поддерживать множество main-шаблонов, которые должны располагаться в каталоге main. В main-файле обычно указывают css-класс для BODY, чтобы однозначно идентифицировать его через css-стили, а также прочий программный код.
В качестве примера можно привести main-шаблоны no-sidebar и left-sidebar шаблона D2.
Секция HEAD в main-шаблоне
Секция HEAD в MaxSite CMS принято выводить через специальную функцию mso_default_head_section(). Сделано это из чисто практических соображений, поскольку система постоянно развивается, что часто требует изменения кода в этой секции (например autoload для js-файлов). При использовании mso_default_head_section() шаблон автоматически получает функционал в полном объеме и нет необходимости править файлы шаблона под каждую новую версию MaxSite CMS.
Для того, чтобы подключить в секцию HEAD произвольный код, следует использовать файл custom/head.php (или custom/head-start.php в начале секции).
Custom-файлы
В main.php при необходимости могут быть подключены предопределенные файлы каталога custom. Подключение происходит автоматически по факту наличия файла. Полный список custom-файлов можно посмотреть в коде main.php.
Ушки в main-шаблоне
Аналогично custom-файлам в main.php прописан вызов некоторых ушек (плагин для вставки произвольного текста или php-кода).
Контент и сайдбар
Содержимое контента (то, что вывел type-файл) выводится из глобальной переменной $CONTENT_OUT. Менять что-либо в этом блоке нет надобности.
Для вывода сайдбаров в MaxSite CMS используется функция mso_show_sidebar(). Типовой вариант сайта использует только один сайдбар. Если необходимо переопределить сайдбары, то следует использовать файл custom/sidebars.php или, если это отдельный main-шаблон, другой файл с кодом вызова сайдбара(ов).
Компоненты шаблона
В модульной сетке предусмотрены блоки для шапки (header) и подвала (footer) сайта, а также программный код для подключения внешних компонентов.
Компоненты шаблона — это некие самостоятельные блоки со своей html-разметкой, css-стилями, php-кодом и опциями. В MaxSite CMS компоненты могут выбираться и настраиваться произвольным образом прямо из админ-панели. Таким образом владелец сайта может сам выбрать какие компоненты и в какой последовательности их расположить и настроить.
В комплекте шаблона D2 присутствуют 25 компонентов.