Документация InstantCMS

для администраторов и разработчиков

Инструменты пользователя

Инструменты сайта


dev:templates:overview

Введение в шаблоны InstantCMS

Шаблоны InstantCMS находятся в поддиректориях директории /templates/. Директория шаблона может содержать CSS таблицы стилей, JavaScript файлы, файлы шаблонов вывода, файл функций-хелперов, форму опций шаблона и различные картинки. К примеру, шаблон под названием «test» будет расположен в директории /templates/test/.

По-умолчанию в InstantCMS один шаблон «default». Внимательно изучите составляющие его файлы, чтобы лучше понять, как создать свой собственный шаблон.

В InstantCMS не используется никаких шаблонизаторов, например Smarty или Twig. Весь код написан на чистом PHP. Шаблоны в InstantCMS выполняют главную роль - отделение отображения от логики.

Какие бывают файлы шаблонов?

Говоря о файлах-шаблонах, мы подразумеваем некие файлы с двойным расширением .tpl.php. Т.е. это обычные PHP файлы, а второе расширение .tpl показывает, что это файл шаблона. То, что перед .tpl.php в полном названии файла - есть имя шаблона. Например, файл имеет название index.tpl.php - движок оперирует лишь именем index.

Шаблон InstantCMS состоит из общего макета (их может быть более одного) и файлов-шаблонов для вывода.

Общий макет — это основной шаблон всех страниц сайта, содержащий теги <html>, <head> и <body>. Внутри него выводятся шаблоны компонентов и виджетов. По-умолчанию движок использует два макета: main.tpl.php - для самого сайта и admin.tpl.php для админки.

Файлы шаблонов вывода предназначены для показа результатов работы контроллеров, виджетов или иных вспомогательных действий, например сообщений об ошибках, вывод полей форм.

Перечень стандартных файлов и директорий шаблона

Путь к файлам в таблицах ниже указывается относительно корневой директории шаблона, т.е. если шаблон у нас лежит в директории /templates/test/, то пути ниже указывается относительно /templates/test/.

Обязательные файлы шаблона.

Путь к файлу Назначение
main.tpl.php Основной макет шаблона
scheme.html Схема позиций шаблона

Остальные файлы и директории

Путь к файлу или директории Назначение
options.form.php файл формы опций шаблона
assets/errors/ шаблоны ошибок, 404 страницы и сообщения о том, что сайт закрыт
assets/fields/ шаблоны полей форм
assets/ui/ шаблоны «хлебных крошек», панели фильтра контента, форм, меню и списков записей админки
content/ шаблоны списков записей и страниц записи типов контента
controllers/КОНТРОЛЛЕР/ шаблоны фронтэнда контроллера
controllers/КОНТРОЛЛЕР/styles.css CSS файл стилей контроллера
controllers/КОНТРОЛЛЕР/backend/ шаблоны бэкенда контроллера
controllers/КОНТРОЛЛЕР/backend/styles.css CSS файл стилей бэкенда контроллера
controllers/КОНТРОЛЛЕР/widgets/ВИДЖЕТ/ шаблоны виджета контроллера
css/ файлы CSS стилей шаблона, подключаемые в макете
images/ изображения, используемые в шаблоне
js/ JavaScript скрипты, используемые в шаблоне
js/fields/ИМЯ_ПОЛЯ.js JavaScript скрипт, автоматически подключаемый к шаблону поля
profiles/options.form.php форма опций для стилизации профилей пользователей
profiles/styler.php набор динамически созданных CSS стилей для стилизации профилей пользователе
widgets/ директория шаблонов виджетов, не привязанных к контроллерам
widgets/wrapper*.tpl.php файлы-обертки в которых выводится результат работы виджета

Как движок работает с файлами шаблонов

В InstantCMS есть механизм наследования файлов шаблонов. Это значит, что при подключении нужного файла шаблона, css и javascript файлов движок сначала ищет его в текущем шаблоне, а потом, если указана цепочка наследования, ищет в других шаблонах. Корнем цепочки всегда является шаблон default. Подробнее о механизме наследования описано здесь.


К оглавлению раздела

dev/templates/overview.txt · Последнее изменение: 24.03.2017 22:46 — fuze