17 KiB
Публичный сайт: из чего собирается страница
← К разделу «Как AVE.cms собирает сайт»
Раздел Публичный сайт нужен для обзора. Он помогает увидеть, из каких частей собран сайт, где используются компоненты и в какой редактор нужно перейти для изменения.
Сам раздел ничего не публикует и не меняет автоматически. Это карта над уже существующими инструментами AVE.cms.
Визуальная карта
Вкладка Карта сайта собирает меню, уровни пунктов и привязанные документы. Она показывает документы вне навигации и ведёт в существующие редакторы. Карта ничего не публикует и не меняет URL: страница вне меню может выводиться запросом, каталогом, блоком или прямой ссылкой.
Сначала: что такое компонент
Готовая страница редко хранится в одном месте. Она собирается из нескольких базовых компонентов:
| Компонент | За что отвечает | Простой пример |
|---|---|---|
| Шаблон сайта | Общая оболочка страницы: head, шапка, подвал и место основного содержимого. |
Один внешний каркас для всех новостей. |
| Рубрика | Тип материала, его поля, правила URL и шаблон одного документа. | «Новости» с полями «Анонс», «Текст» и «Изображение». |
| Документ | Конкретные данные, введённые в поля рубрики. | Одна опубликованная новость. |
| Запрос | Выбирает несколько документов по условиям, сортирует их и выводит списком. | Последние десять новостей. |
| Блок | Повторяемый фрагмент содержимого или логики. | Контакты в подвале. |
| Навигация | Дерево ссылок и правила HTML для его уровней. | Главное меню сайта. |
| Каталог | Объединяет документы в дерево разделов и добавляет фильтры. | Каталог статей по темам или товаров по категориям. |
| Модуль | Добавляет отдельную функцию, маршруты и теги. | Поиск, комментарии или галерея. |
Эти компоненты называются базовыми, потому что каждый из них выполняет свою часть работы. Например, запрос решает, какие документы выбрать, а рубрика определяет, какие данные есть у документа.
Как собирается обычная страница
Упрощённая последовательность выглядит так:
адрес страницы
→ документ
→ рубрика и значения её полей
→ шаблон рубрики
→ шаблон сайта
→ блоки, меню, запросы и модули внутри шаблонов
→ готовый HTML
Раздел Публичный сайт показывает эту структуру, но не заменяет перечисленные редакторы.
Вкладка «Структура»
На вкладке Структура каждая строка соответствует рубрике, то есть одному типу контента.
В строке показаны:
- назначенный шаблон сайта;
- количество документов и полей;
- количество связанных запросов и каталогов;
- явные проблемы, например отсутствие обязательного шаблона;
- кнопки перехода к документам и настройкам рубрики.
Блок Диагностика показывает только понятные структурные проблемы. Он не исправляет данные автоматически.
Блок Редакторы компонентов содержит быстрые переходы в штатные разделы. Содержимое и настройки следует менять именно там.
Что такое представление
Представление — это необязательный слой оформления уже подготовленных данных. Оно может оформить один и тот же набор как:
- карточки;
- компактный список;
- слайдер;
- результаты поиска;
- похожие материалы.
Главное различие:
| Базовый компонент | Представление |
|---|---|
| Определяет данные, связи или функцию. | Определяет внешний вид готовых данных. |
| Запрос выбирает документы. | Представление оформляет результат запроса. |
| Рубрика задаёт поля документа. | Представление получает заполненные значения. |
| Модуль выполняет поиск или другую операцию. | Представление может оформить результат модуля. |
| Работает самостоятельно. | Без источника данных показывать нечего. |
Представление не заменяет запрос, рубрику, блок, навигацию или модуль. Оно также не обязано использоваться: весь сайт может продолжать работать на обычных шаблонах AVE.cms.
Почему представления добавлены отдельно
Иногда одинаковая карточка нужна в нескольких местах. Если копировать HTML в каждый запрос и модуль, изменения приходится повторять вручную.
Представление позволяет хранить такое оформление один раз, проверить его на реальном документе и затем назначить нужным местам.
Безопасный порядок работы
- Создайте представление и укажите понятное название.
- Заполните шаблон элемента, обёртку и при необходимости CSS.
- Откройте предпросмотр на реальном документе.
- Сохраните черновик.
- Опубликуйте проверенную версию.
- Создайте назначение, выбрав по названию реальную рубрику, запрос, раздел каталога или установленный модуль.
- Переключите назначение в режим Новое представление только после проверки.
Перед окончательным переключением откройте вкладку Диагностика. Она проверит Twig, удалённые цели назначений и предпросмотр на реальном материале. Проверка ничего не публикует и не меняет на сайте.
Новый черновик сам по себе не меняет сайт. Публичная часть использует только опубликованную версию и только там, где включено соответствующее назначение.
Подробнее о редакторе и доступных данных: Представления.
Вкладка «Размещения»
Размещение — это найденный в сохранённом шаблоне тег компонента. Например:
[tag:sysblock:footer]
[tag:request:12]
[tag:navigation:main]
[mod_search]
Карта читает шаблоны сайта, рубрик, запросов, блоков и навигаций. Публичные страницы при этом не запускаются, а сохранённый код не изменяется.
Два режима списка
Размещения показывает каждое место отдельно. Этот режим нужен, когда важно понять, в каком шаблоне и в какой его части стоит тег.
Где используется объединяет одинаковые компоненты. Этот режим удобен, чтобы быстро узнать, сколько раз используется блок, запрос, меню или модульный тег.
Что открывают кнопки справа
В строке размещения могут быть две кнопки:
- Открыть источник — открывает конкретный шаблон, блок, запрос или навигацию, в котором найден тег.
- Открыть компонент — открывает конкретный подключённый блок, запрос, навигацию либо раздел модуля, который обрабатывает тег.
Если модуль не удалось определить, откроется общий реестр модулей. Это не ошибка публичного сайта: карта просто не знает отдельного административного раздела для этого тега.
Состояния связей
- Работает — компонент найден и включён.
- Выключен — компонент существует, но отключён.
- Ссылка не найдена — в шаблоне остался тег удалённого или переименованного компонента.
- Модуль — тег обрабатывается установленным модулем или системной функцией.
Кнопка Перестроить карту повторно читает сохранённые шаблоны. Обычно карта обновляется после сохранения компонента автоматически.
Вкладка «Диагностика»
Диагностика отвечает на два практических вопроса:
- из каких сохранённых данных и компонентов собирается конкретная страница;
- почему конкретный документ входит или не входит в результат запроса.
Проверка работает только на чтение. Она не запускает публичную страницу, не сохраняет документ, не перестраивает кеш и не меняет шаблоны.
Как разобрать страницу
- Откройте Публичный сайт → Диагностика.
- Введите публичный путь, например
/news/example, либо ID документа. - Нажмите Разобрать страницу.
Результат содержит:
- документ, его состояние, URL и SEO-данные;
- рубрику, схему и фактические значения её полей;
- общий шаблон сайта, основной и дополнительный шаблоны рубрики;
- запросы этой рубрики и назначенные представления;
- блоки, меню, запросы и модульные вставки из активной цепочки шаблонов;
- cache keys и наличие файлов кеша;
- понятные замечания со ссылками на редакторы.
Содержимое шаблонов в отчёт не копируется. Вместо него показываются длина и контрольный хеш: этого достаточно, чтобы определить используемую версию и не раскрывать сохранённый код. Пароли, токены и другие секретные значения маскируются ещё до формирования интерфейса.
Кнопки справа открывают реальный документ или компонент. Путь к панели при этом берётся из текущей установки: переименование папки панели ссылкам не мешает.
Как объяснить запрос
Укажите ID запроса и ID документа. Если условие зависит от параметров страницы, добавьте их одним из способов:
catalog=beds&color=white
или:
{"catalog":"beds","color":"white"}
AVE.cms покажет базовые ограничения запроса, дерево групп AND/OR,
фактическое и ожидаемое значение каждого условия и итог: найден документ или
исключён. Переданные параметры действуют только во время проверки и после неё
не остаются в текущем запросе панели.
Внизу каждого результата есть свёрнутый структурированный JSON. Он нужен разработчику и будущим интеграциям; для обычной проверки достаточно понятных блоков выше.
Примеры для новичка
Нужно изменить текст в подвале
- Откройте Публичный сайт → Размещения.
- Найдите блок, используемый после основного содержимого.
- Нажмите кнопку открытия компонента.
- Измените текст в редакторе блока и сохраните.
Нужно изменить список новостей
- В размещениях найдите нужный тег запроса.
- Откройте компонент.
- В запросе измените условия, сортировку или количество записей.
- Если нужно изменить только внешний вид карточек, меняйте шаблон запроса или назначенное представление.
Нужно понять, почему меню не появилось
- Найдите тег навигации в размещениях.
- Проверьте, что компонент найден.
- Откройте навигацию и проверьте пункты и шаблоны уровней.
- Откройте источник и убедитесь, что тег расположен в нужной части шаблона.
Что этот раздел намеренно не делает
- не переносит компоненты между шаблонами;
- не исправляет найденные связи автоматически;
- не включает представления без явного назначения;
- не заменяет редакторы рубрик, запросов, блоков, меню и модулей;
- не меняет действующий публичный вывод при простом просмотре карты.
Такое разделение сохраняет предсказуемое поведение: карта помогает найти нужное место, а изменение выполняется в редакторе компонента, который действительно владеет этими данными.