+7 988 353-52-54 kompman1@yandex.ru

г. Краснодар

Структура шаблона и theme.json

Папки темы, манифест, наследование от default, шапка и подвал, демо-наполнение.

Шаблон (тема) — папка themes/<code>/. Всё, что видно на сайте, должно настраиваться в админке без разработчика: шапка, подвал, меню, контакты, цвета, шрифты.

themes/<code>/
  theme.json            манифест
  templates/            Twig-шаблоны (base.twig и переопределения)
  blocks/<code>_*/      свои блоки
  assets/               css, js, шрифты, картинки → /themes/<code>/assets/…
  translations/         blocks.ru.yaml, messages.ru.yaml/en.yaml
  presets/*.json        готовые наборы дизайна
  demo/
    settings.json       шапка, подвал, меню, контакты шаблона
    seed.php            демо-наполнение
    preview.jpg         картинка для каталога

theme.json

{
    "name": "Аура",
    "version": "1.0.0",
    "author": {"name": "Studio", "url": "https://example.com"},
    "description": "Редакционный шаблон для бутика одежды.",
    "parent": "default",
    "locales": ["ru", "en"],
    "category": "shop",
    "niche": "Магазин одежды",
    "preview": "demo/preview.jpg",
    "license": {"type": "open"},
    "requires": {"modules": ["pages", "shop"]},
    "menus": {"main": "Главное меню", "footer": "Меню в подвале"}
}

parent: default — тема наследует шаблоны и блоки стандартной темы и переопределяет только своё. Это рекомендуемый путь: меньше кода, обновления default приходят сами.

Шаблоны страниц

base.twig — каркас; entry-<тип>.twig, archive-<тип>.twig — записи и списки. Шапка и подвал собираются из настроек сайта — не зашивайте пункты и тексты в Twig.

Дизайн

design.controls в манифесте описывает настройки экрана «Дизайн»: цвета, шрифты, скругления, варианты. Значения приходят в CSS как переменные — используйте их, а не жёсткие цвета.

Демо-наполнение

demo/seed.php создаёт страницы, записи и товары примера через API ядра; картинки описываются в demo/images.json. «Применить с демо-наполнением» в админке запускает его.

Статья помогла?