Рекомендации по разработке шаблонов

 

Куда записывать документацию к шаблону

К каждому шаблону желательно создавать документацию или хотя бы краткое описание. Здесь есть следующие возможности:

  1. Обязательно делайте краткое описание шаблона дескрипторе — в $params['description']. Это описание будет всегда появляться в окне редактирования.
  2. Для подробного описания используйте отдельный файл шаблона шаблон.htm или шаблон.md
  3. Общее описание всех шаблонов сайта делайте в файле README.htm или README.md в корень сайта.

 

Конфигурационные и управляющие файлы шаблона

  • В статье "Предобработчик дескриптора" рассматривается, как можно управлять параметрами выборки из базы данных.

  • Если при каждом назначении шаблона нужны свои настройки, то лучше использовать доп.данные, которые можно менять прямо в окне редактирования.

  • А теперь рассмотрим другой пример. Допустим, мы создаем шаблон формы, открывающейся в модальном окне через Ajax и предназначенный для отправки сообщений. В зависимости от дополнительного url-параметра в кнопке открывания модального окна, должны появляться различные поля и меняться адресаты.

    Скорее всего, такой шаблон должен назначаться только один раз на весь сайт. Для управления шаблоном, не помогут ни обычные редактируемые данные, ни экстраданные.

    И на помощь здесь приходит предобработчик шаблона

  • См. также Конфигурационный файл сайта

  • См. также Блок для настройки других блоков

 

Дополнительная папка для файлов шаблона

Кроме основных файлов шаблона для работы шаблона могут понадобиться другие файлы: картинки, библиотеки скриптов и т.п.

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

Коль скоро, вы создали папку, имеет смысл перести туда файлы: *.css и *.js, и подключать их с помощью метода Blox::addToHead() в файле *.tpl. При этом, договоримся, не переименовывать эти файлы, то есть, оставлять с именем шаблона и со своим расширением.

Короче говоря, перенесите в папку шаблона все файлы, кроме: .tdd, .tpl, .tplh, .tddh, .tuh.

 

Как найти источник ошибки

Если по лог-файлу ошибок PHP и лог-файлу ошибок BloxCMS (---bloxErrors.log) найти ошибку не удается, можно применить следующий способ для выявления проблемного блока.

В текстовом редакторе откройте дескриптор (.tdd) внешнего шаблона страницы, на которой происходит ошибка, и поочередно комментируйте элементы с block-данными у массива $types . Как только вы найдете проблемный блок, аналогичные действия проделайте в дескрипторе этого вложенного блока, и так — до самого нижнего блока. Таким образом вы быстро сузите круг поиска.

Внимание! Редактировать нужно дескриптор в папке "./assigned", а не "./templates", иначе в режиме админа произойдет удаление блока.

См. также