XOOPS допускает некоторое разделение между фактическим представлением сайта (”скин" или пользовательский интерфейс) и кодом, который работает в админ части. Первый из них обрабатывается сложным механизмом, основанным на графических темах. Тема может включать в себя, в своей основной форме, необходимые HTML
шаблоны, определяющие визуальный интерфейс сайта, а также таблицы стилей и изображения, необходимые для дополнения этого визуального интерфейса. Темы переключаются в административном интерфейсе, поэтому изменение всего внешнего вида сайта XOOPS - это всего лишь вопрос изменения значения
селектора и нажатие на кнопку "Принять". XOOPS также предоставляет администраторам сайтов возможность разрешить пользователям выбирать среди нескольких доступных тем.
Вообще говоря, тема - это высокоуровневая визуальная структура сайта: тема определяет, например, общий макет сайта; с другой стороны, она обычно не определяет конкретное распределение контента внутри блока. Это обрабатывается
другим способом - называется набором шаблонов. Набор шаблоновэто ансамбль HTML-шаблонов, которые определяют представление контента во всех блоках, образующих веб-сайт XOOPS. Если нам нужна более ясная метафора для этого, мы могли бы сказать, что тема похожа
на архитектуру дома, в то время как набор шаблонов подобен декоратору интерьеров. Первый устанавливает стены и определяет общее распределение, но именно второй отвечает за “одевание” этих стен.
Если активная тема является простой и включает в себя только файл темы, CSS-файлы и некоторые изображения, XOOPS использует набор шаблонов по умолчанию для определения представления блоков. Однако некоторые сложные темы достаточно сложны, чтобы включать в себя свой собственный набор шаблонов. В этом случае сайт
должен использовать административный интерфейс для установки как темы, так и набора шаблонов.
Как осуществляется тематическая магия? То есть, как HTML-шаблоны могут включать динамический контент? Это делается не с помощью зеркал и дыма, а с помощью умного шаблонного движка под названием
Smarty, который делает функцию того, что раньше называлось
интерполяции переменных. Выражаясь простым языком, можно сказать, что система XOOPS использует PHP-файлы для хранения логики модулей (доступ к базе данных, распределение переменных, управление правами...), HTML-файлы с переменными Smarty, вставленными для управления
фактический визуальный интерфейс и механизм Smarty для вставки значений и строк в определенные места в HTML, который создает страницы, видимые конечным пользователем. В целом, то, что это значит для Вас, можно легко резюмировать: благодаря своей системе тематизации XOOPS позволяет дизайнерам сайтов создавать больше
интересных и визуально потрясающие сайты без особого беспокойства о том, что происходит под капотом.
Если Вы хотите создать пользовательский набор шаблонов, Вы можете сделать копию набора по умолчанию (или любого другого), выбрав ссылку ‘клон’ (Вам будет предложено дать новому набору имя). В отличие от стандартного, другие наборы шаблонов можно свободно редактировать. Вы также можете сохранить копию шаблона на диск, выбрав ссылку ‘Скачать’, или удалить его с помощью ссылки ‘Удалить’. Вы также можете иногда видеть дополнительную ссылку ‘Создать’ рядом с новыми модулями, для которых шаблоны еще не были созданы.
Вы можете просмотреть полный список доступных шаблонов, просмотрев каталог treeview. Когда Вы выберете шаблон, XOOPS откроет его в редакторе, где Вы сможете его отредактировать.
При редактировании шаблонов необходимо включить параметр, который автоматически обновляет шаблон модуля файлы .tpl если в каталоге themes/ваша тема/templates есть более новые файлы для текущей темы (системный модуль -> Настройки -> Общие настройки -> обновить шаблон модуля файлы .tpl
из каталога themes/ваша тема/templates? -> ‘Да’). Это должно быть отключено, как только сайт станет общедоступным.
Если Вы случайно испортили шаблон, не забывайте, что Вы можете получить ‘хорошую’ копию из набора шаблонов по умолчанию. Если Вы работаете с нестандартными шаблонами, то перед началом их изменения неплохо бы сохранить копию на диск.