Создание темы оформления
Deep-CMS поддерживает так называемые темы оформления. Хотя это не совсем так. Шаблоны внутри темы — это просто файлы с html-разметкой и вставками php-конструкций. В Deep-CMS вообще нет никакого шаблонизатора.
Верстка в этих шаблонах и расположение информационных «блоков» никак не связяна с компонентами или ядром. Для Deep-CMS не важно что Вы пишете в своих шаблонах. Это значит что нет вообще никакого ограничения где и как Вы будете располагать список последних новостей или сколько у Вас будет разных меню, форм поиска и любых других элементов на странице. Можно вообще сделать абсолютно пустой шаблон и он будет показывать белую страницу.
Создание темы
Обычно в мануалах разных CMS предлагают скопировать существующую тему и дорабатывать её на свое усмотрение. Вы можете поступить точно так же и в нашем случае. Однако, хотелось бы разобрать все по кирпичикам чтобы Вам стала понятной вся концепция. Это позволит создавать шаблоны любой мыслимой структуры и содержания.
Для добавления новой темы необходимо в директории application/layouts/themes/ создать папку с именем Вашей темы. Пусть это будет «main-theme».
Важное отступление
Дело в том что при включенном режиме отладки Deep-CMS каждый раз проверяет целостность данных всей системы. И если Вы в каком-либо важном месте (с точки зрения системы) создали файл или папку, то такие файл или папка тоже будут проверены.
Важно отметить, что проверяются различные данные, в зависимости от того, что требуется для целостности данных в конкретном случае. Например это могут быть права на запись в созданную Вами директорию, права на чтение, наличие обязательных вложенных директорий и файлов. В некоторых случаях проверяется корректность синтаксиса содержимого файла. По каждой такой ситуации, в случае несоответствия, Deep-CMS всегда подскажет что именно не так и где это случилось.
Если на Windows по умолчанию все разрешено, то на *NIX/Linux-платформах необходимо будет корректировать права доступа на новые файлы или директории. Такая ситуация может возникнуть и при переносе готового сайта с локального хоста под Windows на хостинг, где более чем в 80% случаев в качестве серверной ОС будет работать *NIX/Linux.
В любом случае, оповещений, которые выбрасывает система, бояться не нужно. А нужно внимательно прочитать чего же от Вас хотят.
Продолжим создавать тему
Внутри каждой темы обязательно должны быть три директории:
- parts
- protected
- public
Каждая из них должна иметь права на запись. Это необходимо для ситуации, когда с удаленного сервера Вы будете устанавливать новый компонент, и у этого компонента будет свой собственный шаблон, или даже несколько.
Теперь более подробно по каждой директории. Для чего они нужны?
parts
В директории «parts» хранятся различные части основных шаблонов. Это может быть левый блок меню, блок новостей, блок с всплывающими окнами, форма комментирования и прочие фрагменты верстки для темы. На какие бы части Вы не разрезали свой сверстанный шаблон, в директории «parts» должны оказаться два обязательных файла: «footer.html» и «header.html». Как бы там ни было — эти части шаблона в любой теме присутствуют всегда.
protected
В директории «protected» находятся шаблоны (представления центральной части контента) относящиеся к модулям и системным сообщениям. В этой директории один обязательный файл: «exception.html». Именно через этот шаблон выводятся различные оповещения системы, например это страница ошибки 404, а так же любые другие сообщения. Как различать типы сообщений и показывать их в разном визуальном оформлении мы рассмотрим позднее.
public
В директории «public» хранятся все шаблоны, которые будут доступны в списке выбора шаблона отображения при создании и редактировании узлов дерева в административном разделе. Тут тоже есть один обязательный файл: «page.html», ведь должен быть хотябы один шаблон вывода для созданных Вами страниц.
Резюме
Если Вы не знаете что должно быть внутри шаблонов (хотя и должны бы, html знать нужно) — просто создайте пустые файлы. Далее мы в любом случае будем обсуждать типовое наполнение шаблонов.
Теперь пройдите в глобальные настройки административного раздела. Там уже появилась доступная для выбора тема «main-theme». Сделайте её активной и сохраните настройки.