Файлы сайта: шаблоны и статика
Вкладка «Файлы» (раздел «Сайт») — это файловое хозяйство вашего сайта: Liquid-шаблоны, которыми рисуются страницы, и статика — favicon, robots.txt, шрифты. Разбираем, что там лежит и как это редактировать.
Динамика и статика
Вкладка «Файлы» делится на две папки:

| Папка | Что там | Как отдаётся |
|---|---|---|
| Динамика | Liquid-шаблоны (.liquid), а также .css и .js сайта. Их обрабатывает сервер: подставляет данные, исполняет условия и циклы. |
Рисуются на каждом заходе (с кэшем маршрута) |
| Статика | favicon, robots.txt, шрифты, картинки-«не-медиа». |
Отдаются как есть, байт в байт |
Ключевое различие — в черновиках: у динамики правки садятся в черновик и попадают на сайт после публикации; статика публикуется как есть.
Кто использует шаблоны
Два потребителя:
- Флоу — узел «Рендер страницы» указывает шаблон по имени
(
katalog.liquid) и передаёт ему данные, собранные узлами GraphQL. - Служебные страницы — своя страница 404 и подобные тоже рисуются шаблонами из «Динамики».
Как редактировать
Выберите файл в дереве слева — справа откроется редактор с подсветкой синтаксиса. Правите текст, нажимаете «Сохранить шаблон» — правка садится в черновик; публикация выкатывает её на сайт (как и у флоу: посетители живого сайта видят изменения только после публикации).

Создать новый файл — поле имени и кнопка «Создать файл»; загрузить готовый — кнопка загрузки рядом. Имя файла можно переименовать и позже — только не забудьте поменять его и в узлах «Рендер страницы», которые этот шаблон используют. Удаление — значок корзины у файла в дереве.
Файлы можно раскладывать по папкам: укажите имя вместе с путём —
partials/card.liquid — и папка появится в дереве сама (кнопка-папка рядом
с «Создать файл» создаёт и пустую). Вложенность любая; slash в имени — это
разделитель папок. Для партиалов заведите папку partials — так дерево не
превращается в свалку, а в {% include "partials/card" %} путь совпадает с
тем, что видно в дереве.
Liquid за одну минуту
Шаблон — обычный HTML с вставками:
<h1>{{ page.title }}</h1>
{% for s in catalog.data.services %}
<li>{{ s.title }} — {{ s.price }} ₽</li>
{% endfor %}
{{ … }}— вывести значение (данные из флоу, поля записи);{% … %}— логика: циклыfor, условияif.
Данные приходят из флоу: то, что узел GraphQL положил в «Ключ результата»,
доступно шаблону как ключ.data.….
Базовый шаблон: общая обёртка страниц
Шапка, подвал, <head> одинаковы на всех страницах — чтобы не копировать их
в каждый шаблон, заводят базовый шаблон. Это обычный файл в «Динамике»,
например base.liquid, в котором место для содержимого — переменная
content:
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>{{ page_title }}</title>
<link rel="stylesheet" href="/static/main.css">
</head>
<body>
<header>… меню сайта …</header>
{{ content }}
<footer>… контакты …</footer>
</body>
</html>
Страничный шаблон захватывает своё содержимое в content и подключает
базу:
{% capture content %}
<h1>Каталог услуг</h1>
{% for s in catalog.data.services %}
<li>{{ s.title }} — {{ s.price }} ₽</li>
{% endfor %}
{% endcapture %}
{% include "base" %}
Платформа рисует страничный шаблон, потом подставляет то, что он захватил,
в базу на место {{ content }}. Узел «Рендер страницы» при этом
указывает только на страничный шаблон (katalog.liquid) — базу он
подключает сам шаблон.
Полезно знать:
{% include %}видит всё, что определено в шаблоне страницы: данные флоу (results.ключ,form.*,params.*) и присвоенные переменные. Поэтому SEO-поля страницы можно вычислять в страничном шаблоне, а выводить в<head>внутриbase.liquid.- Так же собираются партиалы — переиспользуемые куски разметки:
заведите
partials/card.liquidи подключайте{% include "partials/card" %}. Пути — внутри шаблонного корня, без... - Тег
{% render %}— включение с чистым скоупом: он не видит переменные страницы, всё нужное передавайте ему явно. Для обвязки и партиалов используйте{% include %}.
Правило простое: каркас меняем в одном файле base.liquid — обновляются
все страницы; содержимое каждой страницы живёт в своём шаблоне.
Статика
Файлы статики (папка «Статика») отдаются браузеру без обработки. Типовые
жители: favicon.ico, robots.txt, шрифты. Их можно загружать и
заменять, черновиков у них нет.
Частые вопросы
| Вопрос | Ответ |
|---|---|
| Сохранил шаблон, а сайт старый | Правка в черновике — нужна публикация (пилюля «черновик» у файла подскажет). |
| Где взять имя шаблона для узла «Рендер страницы» | Это путь файла из папки «Динамика», например katalog.liquid. |
| Сломал шаблон, сайт не публикуется | Публикация отклонит битый шаблон и покажет, что не так; исправьте и опубликуйте снова. |
Следующая статья: Библиотека запросов →