Dummy — это удобный инструмент для разработки новых тем дизайна. В этой теме упрощен и оптимизирован код шаблонов, убраны все частные варианты оформления других тем, но полностью поддерживается функционал приложений Webasyst.
JavaScript структурирован. Почти вся JavaScript-логика шаблонов находится в отдельных файлах, чтобы не смешивать код шаблонов и скриптов.
CSS-стили находятся в отдельных папках, а в корне темы расположены только шаблоны и системный файл с настройками (theme.xml).
Тема Dummy поддерживает все базовые приложения фреймворка Webasyst: «Сайт», «Магазин», «Блог», «Фото», «Хаб», «Поддержка». Тема предназначена для разработчиков и не доступна в приложении «Инсталлер», скачать её можно только на GitHub.
Наследование
Темы семейства Dummy используют наследование. Тема для site является родительской, а темы других приложений (shop, blog, hub, photos, helpdesk) наследуют ее CSS-стили, JavaScript и верстку.
Родительская тема рассчитывает, что в дочерних темах должны быть следующие шаблоны:
head.html— шаблон с ресурсами дочернего приложения, подключится в конце секции<head>;main.html— шаблон с контент-частью дочернего приложения;header.html— шаблон части шапки сайта (в верхней части страниц сайта), т. к. у каждого приложения разный набор функций;sidebar.html— шаблон левой колонки дочернего приложения;footer.html— шаблон подложки дочернего приложения.
Основные этапы создания новой темы
1. Подготовка
- Скопируйте исходные файлы темы Dummy в директорию
wa-apps/site/themes/[theme_id]/. По аналогии скопируйте соответствующие исходные файлы темы Dummy в поддиректорииthemes/других приложений. - В файле
theme.xmlтемы каждого приложения смените идентификаторdummyна свой собственный. - В разделе «Структура» приложения «Сайт» в настройках поселений приложений выберите свою тему.
2. Проектирование
Заранее продумайте основу всего сайта, которая будет реализовована в родительской теме приложения site:
- оформление верхней и нижней шапки (повторяется во всех приложениях);
- расположение основной части страницы и боковой панели (вертикальной области для меню и т. п.);
- общие элементы навигации (заголовки, «хлебные крошки» и т. д.);
- основные стили текста и функциональных элементов.
Важно заранее правильно оценить общую функциональность темы, которая будет присутствовать во всех приложениях.
Для примера, шаблон sidebar.html в приложении site реализует отображение колонки слева определенного размера, а в приложении shop он реализует уже меню каталога и фильтры.
Отсюда прослеживается аналогия с CSS- и JavaScript-ресурсами вашей собственной темы — общее для всего сайта оформляется в теме приложения site, а частное — в отдельной теме конкретного приложения.
3. Разработка
- Создайте основу в родительской теме приложения
site. - Реализуйте частную функциональность и размещение содержимого страниц в дочерних темах остальных приложений.
4. Быстрое создание своей темы дизайна на основе Dummy
Используйте консольную команду createTheme, например:
php wa.php createTheme site,shop,blog mytheme -name 'My theme' -version 1.0.0 -vendor 123456 -prototype dummy
- Создайте основу в родительской теме приложения
site. - Реализуйте частную функциональность и размещение содержимого страниц в дочерних темах остальных приложений.
Полезные ссылки
- Dummy на GitHub (тема Dummy недоступна в приложении «Инсталлер»).
- Темы дизайна.
- Родительские темы дизайна.
- Настройки темы дизайна.
- Локализация тем дизайна.









