18. Шаблоны, информация для верстальщика
Информация в этом разделе может быть полезна не только программисту, но и верстальщику.
Шаблоны хранятся в директории /template и представляют из себя HTML-документы, содержащие специальные теги для вставки контента. Имена файлов формируются по следующему принципу:
(pc|pda).ИМЯ_ШАБЛОНА.html
Тут pc – шаблон дня настольных ПК, pda – шаблон для мобильных устройств. Версия для мобильных устройств доступна на поддомене pda. Переключение или редирект с одной версии на другую должен определяться в шаблоне с помощью явного указания ссылок или при помощи JavaScript.
ИМЯ_ШАБЛОНА определяется программистом и устанавливается при помощи модуля «управление шаблонами» или же непосредственно в коде вызовом функции core::template(). В большинстве случаев есть только один шаблон и имя соответствующего файла «pc.default.html».
Все ресурсы (CSS, JavaScript, картинки и т. д.) должны находиться в пределах директория /public, рекомендуется складывать «всё в кучу» в директорий /public/template, но это не является обязательным требованием.
В шаблоне могут быть использованы следующие специальные теги:
.
и в это место будут подставлены JavaScript и CSS для конкретных страниц.
-
{{widget[admin]}} — на это место будут вставлены общие кнопки административного интерфейса. Обычно он вставляется сразу после
-
{{widget[search]}} — виджет, содержащий текстовую строку для поиска по сайту.
-
{{widget[menu][1]}} — меню сайта. Тут «1» - это идентификатор меню.
-
{{widget[user]}} — форма авторизации пользователей.
-
{{breadcrumb}} — хлебные крошки
-
{{section[ИМЯ]}} — вставляет секцию с именем ИМЯ.
-
{{pageTitle}} — отображаемый на сайте заголовок страницы. Он дополнительно «обёрнут» в тег
.
-
{{content}} — основной контент сайта.
В шаблоне можно вывести любой виджет при помощи тега {{widget}}, однако для этого нужно знать какие он должен принимать параметры. Формат этого тега следующий:
{{widget[ИМЯ][ДАННЫЕ][ВРЕМЯ_КЕШИРОВАНИЯ][ЗАГОЛОВОК]}}
ИМЯ — это имя виджета (соответствует имени файла в директории /widget.
ДАННЫЕ — параметры, необходимые для отображения виджета. Это может быть просто строка или число или массив, тогда он должен быть задан в таком формате: параметр_1:"значение",параметр_2:"значение"... ВРЕМЯ_КЕШИРВАНИЯ — время актуальности кеша в минутах (не обязательный параметр). Если не задан, то виджет не будет кеишроваться. ЗАГОЛОВОК — текстовый заголовок виджета (не обязательный параметр).
В шаблоне сайта может быть задано любое количество секций при помощи тега {{section}} — это, по сути, контейнер для публикации виджетов. Но всё же если виджет должен быть опубликован на всех страницах сайта, то лучше вставить его явно при помощи тега {{widget}}.
Внимание! Виджеты и шаблоны кешируются, поэтому, если в шаблон вносятся изменения, то нужно очистить кеш, либо перевести сайт в отладочный режим (в «общих настройках») для автоматической очистки кеша.
Содержимое тега {{content}} зависит от отображаемой страницы сайта. HTML-разметку контента можно найти в файлах в директории /view. HTML-разметка виджетов может находится также в директории /view или в файлах в директории /widget.