Приложение «Сайт» предоставляет общий редактор шаблонов дизайна для разных приложений: «Сайт», «Блог», «Магазин» и других уже выпущенных и планируемых к выпуску приложений.
Файлы шаблонов
В Вебасисте предусмотрены два стандартных места для хранения шаблонов дизайна (тем оформления):
wa-apps/APP_ID/themes/
— оригинал темы в папке приложенияwa-data/public/APP_ID/themes/
— пользовательские изменения темы
В папке приложения (wa-apps/
) хранится оригинал темы, куда она устанавливается с помощью приложения «Инсталлер».
При изменении хотя бы одного шаблона с помощью встроенного редактора приложения «Сайт» создается копия оригинала темы в пользовательской папке
wa-data/public/APP_ID/themes/
, и с этого момента используется только она (оригинал остается
в папке wa-apps/
, но никак больше не изменяется через редактор дизайна).
Для редактирования шаблонов дизайна рекомендуется пользоваться только встроенным редактором дизайна, т. к. в этом случае гарантируется сохранение
изменений в шаблонах дизайна при установке обновлений с помощью «Инсталлера». Если вы редактируете файлы шаблонов, не используя встроенный редактор дизайна
(например, по FTP), то настоятельно рекомендуется редактировать только пользовательскую копию темы в wa-data/
, чтобы не
потерять изменения при установке обновлений.
Встроенный редактор дизайна
Бекенд и фронтенд Вебасиста работают на основе шаблонизатора Smarty, поэтому в содержимом шаблонов можно использовать весь инструментарий Smarty. В нижнем правом углу редактора находится шпаргалка со списком конструкций и переменных, которые можно использовать в текущем шаблоне.
В зависимости от функционала каждое приложение на свое усмотрение предоставляет свой набор обязательных шаблонов дизайна. Например, в приложении
«Сайт» являются обязательными только шаблоны index.html
(общая разметка страницы), page.html
(вывод содержимого
одной страницы) и error.html
(отображение сообщения об ошибке). В приложении «Блог» есть другие обязательные шаблоны:
post.html
(отображение одной записи), stream.html
(отображение списка записей),
comments.html
(комментарии к записи). Разработчик каждого приложения самостоятельно определяет, из каких шаблонов должна
состоять его тема оформления и какие из шаблонов являются обязательными.
С помощью встроенного редактора дизайна владелец сайта имеет возможность редактировать все шаблоны дизайна, может создавать свои шаблоны, подключать их
к основным шаблонам с помощью директивы Smarty {include file="..."}
, но не может удалить обязательные файлы шаблонов, чтобы
не нарушить целостность работы приложения.
Структура темы оформления
Тема оформления — это объединенные в одной папке HTML/Smarty-шаблоны, файлы JavaScript, CSS, изображения и файл-манифест
theme.xml
.
В файле-манифесте theme.xml
должны быть перечислены основные настройки темы (название, версия) и файлы, изменение которых
доступно в редакторе дизайна. Структурная схема XML размещена по адресу
http://www.webasyst.com/wa-content/xml/wa-app-theme.dtd.