Темы дизайна

Приложение «Сайт» предоставляет общий редактор шаблонов дизайна для разных приложений: «Сайт», «Блог», «Магазин» и других уже выпущенных и планируемых к выпуску приложений.

Файлы шаблонов

В Вебасисте предусмотрены два стандартных места для хранения шаблонов дизайна (тем оформления):

  1. wa-apps/APP_ID/themes/ — оригинал темы в папке приложения
  2. 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.

Подробнее о структуре темы оформления →.