Files
ave-cms/help/content/public-site.md
T
2026-07-30 11:56:32 +03:00

17 KiB
Raw Permalink Blame History

Публичный сайт: из чего собирается страница

К разделу «Как AVE.cms собирает сайт»

Раздел Публичный сайт нужен для обзора. Он помогает увидеть, из каких частей собран сайт, где используются компоненты и в какой редактор нужно перейти для изменения.

Сам раздел ничего не публикует и не меняет автоматически. Это карта над уже существующими инструментами AVE.cms.

Визуальная карта

Вкладка Карта сайта собирает меню, уровни пунктов и привязанные документы. Она показывает документы вне навигации и ведёт в существующие редакторы. Карта ничего не публикует и не меняет URL: страница вне меню может выводиться запросом, каталогом, блоком или прямой ссылкой.

Сначала: что такое компонент

Готовая страница редко хранится в одном месте. Она собирается из нескольких базовых компонентов:

Компонент За что отвечает Простой пример
Шаблон сайта Общая оболочка страницы: head, шапка, подвал и место основного содержимого. Один внешний каркас для всех новостей.
Рубрика Тип материала, его поля, правила URL и шаблон одного документа. «Новости» с полями «Анонс», «Текст» и «Изображение».
Документ Конкретные данные, введённые в поля рубрики. Одна опубликованная новость.
Запрос Выбирает несколько документов по условиям, сортирует их и выводит списком. Последние десять новостей.
Блок Повторяемый фрагмент содержимого или логики. Контакты в подвале.
Навигация Дерево ссылок и правила HTML для его уровней. Главное меню сайта.
Каталог Объединяет документы в дерево разделов и добавляет фильтры. Каталог статей по темам или товаров по категориям.
Модуль Добавляет отдельную функцию, маршруты и теги. Поиск, комментарии или галерея.

Эти компоненты называются базовыми, потому что каждый из них выполняет свою часть работы. Например, запрос решает, какие документы выбрать, а рубрика определяет, какие данные есть у документа.

Как собирается обычная страница

Упрощённая последовательность выглядит так:

адрес страницы
  → документ
  → рубрика и значения её полей
  → шаблон рубрики
  → шаблон сайта
  → блоки, меню, запросы и модули внутри шаблонов
  → готовый HTML

Раздел Публичный сайт показывает эту структуру, но не заменяет перечисленные редакторы.

Вкладка «Структура»

На вкладке Структура каждая строка соответствует рубрике, то есть одному типу контента.

В строке показаны:

  • назначенный шаблон сайта;
  • количество документов и полей;
  • количество связанных запросов и каталогов;
  • явные проблемы, например отсутствие обязательного шаблона;
  • кнопки перехода к документам и настройкам рубрики.

Блок Диагностика показывает только понятные структурные проблемы. Он не исправляет данные автоматически.

Блок Редакторы компонентов содержит быстрые переходы в штатные разделы. Содержимое и настройки следует менять именно там.

Что такое представление

Представление — это необязательный слой оформления уже подготовленных данных. Оно может оформить один и тот же набор как:

  • карточки;
  • компактный список;
  • слайдер;
  • результаты поиска;
  • похожие материалы.

Главное различие:

Базовый компонент Представление
Определяет данные, связи или функцию. Определяет внешний вид готовых данных.
Запрос выбирает документы. Представление оформляет результат запроса.
Рубрика задаёт поля документа. Представление получает заполненные значения.
Модуль выполняет поиск или другую операцию. Представление может оформить результат модуля.
Работает самостоятельно. Без источника данных показывать нечего.

Представление не заменяет запрос, рубрику, блок, навигацию или модуль. Оно также не обязано использоваться: весь сайт может продолжать работать на обычных шаблонах AVE.cms.

Почему представления добавлены отдельно

Иногда одинаковая карточка нужна в нескольких местах. Если копировать HTML в каждый запрос и модуль, изменения приходится повторять вручную.

Представление позволяет хранить такое оформление один раз, проверить его на реальном документе и затем назначить нужным местам.

Безопасный порядок работы

  1. Создайте представление и укажите понятное название.
  2. Заполните шаблон элемента, обёртку и при необходимости CSS.
  3. Откройте предпросмотр на реальном документе.
  4. Сохраните черновик.
  5. Опубликуйте проверенную версию.
  6. Создайте назначение, выбрав по названию реальную рубрику, запрос, раздел каталога или установленный модуль.
  7. Переключите назначение в режим Новое представление только после проверки.

Перед окончательным переключением откройте вкладку Диагностика. Она проверит Twig, удалённые цели назначений и предпросмотр на реальном материале. Проверка ничего не публикует и не меняет на сайте.

Новый черновик сам по себе не меняет сайт. Публичная часть использует только опубликованную версию и только там, где включено соответствующее назначение.

Подробнее о редакторе и доступных данных: Представления.

Вкладка «Размещения»

Размещение — это найденный в сохранённом шаблоне тег компонента. Например:

[tag:sysblock:footer]
[tag:request:12]
[tag:navigation:main]
[mod_search]

Карта читает шаблоны сайта, рубрик, запросов, блоков и навигаций. Публичные страницы при этом не запускаются, а сохранённый код не изменяется.

Два режима списка

Размещения показывает каждое место отдельно. Этот режим нужен, когда важно понять, в каком шаблоне и в какой его части стоит тег.

Где используется объединяет одинаковые компоненты. Этот режим удобен, чтобы быстро узнать, сколько раз используется блок, запрос, меню или модульный тег.

Что открывают кнопки справа

В строке размещения могут быть две кнопки:

  1. Открыть источник — открывает конкретный шаблон, блок, запрос или навигацию, в котором найден тег.
  2. Открыть компонент — открывает конкретный подключённый блок, запрос, навигацию либо раздел модуля, который обрабатывает тег.

Если модуль не удалось определить, откроется общий реестр модулей. Это не ошибка публичного сайта: карта просто не знает отдельного административного раздела для этого тега.

Состояния связей

  • Работает — компонент найден и включён.
  • Выключен — компонент существует, но отключён.
  • Ссылка не найдена — в шаблоне остался тег удалённого или переименованного компонента.
  • Модуль — тег обрабатывается установленным модулем или системной функцией.

Кнопка Перестроить карту повторно читает сохранённые шаблоны. Обычно карта обновляется после сохранения компонента автоматически.

Вкладка «Диагностика»

Диагностика отвечает на два практических вопроса:

  1. из каких сохранённых данных и компонентов собирается конкретная страница;
  2. почему конкретный документ входит или не входит в результат запроса.

Проверка работает только на чтение. Она не запускает публичную страницу, не сохраняет документ, не перестраивает кеш и не меняет шаблоны.

Как разобрать страницу

  1. Откройте Публичный сайт → Диагностика.
  2. Введите публичный путь, например /news/example, либо ID документа.
  3. Нажмите Разобрать страницу.

Результат содержит:

  • документ, его состояние, URL и SEO-данные;
  • рубрику, схему и фактические значения её полей;
  • общий шаблон сайта, основной и дополнительный шаблоны рубрики;
  • запросы этой рубрики и назначенные представления;
  • блоки, меню, запросы и модульные вставки из активной цепочки шаблонов;
  • cache keys и наличие файлов кеша;
  • понятные замечания со ссылками на редакторы.

Содержимое шаблонов в отчёт не копируется. Вместо него показываются длина и контрольный хеш: этого достаточно, чтобы определить используемую версию и не раскрывать сохранённый код. Пароли, токены и другие секретные значения маскируются ещё до формирования интерфейса.

Кнопки справа открывают реальный документ или компонент. Путь к панели при этом берётся из текущей установки: переименование папки панели ссылкам не мешает.

Как объяснить запрос

Укажите ID запроса и ID документа. Если условие зависит от параметров страницы, добавьте их одним из способов:

catalog=beds&color=white

или:

{"catalog":"beds","color":"white"}

AVE.cms покажет базовые ограничения запроса, дерево групп AND/OR, фактическое и ожидаемое значение каждого условия и итог: найден документ или исключён. Переданные параметры действуют только во время проверки и после неё не остаются в текущем запросе панели.

Внизу каждого результата есть свёрнутый структурированный JSON. Он нужен разработчику и будущим интеграциям; для обычной проверки достаточно понятных блоков выше.

Примеры для новичка

Нужно изменить текст в подвале

  1. Откройте Публичный сайт → Размещения.
  2. Найдите блок, используемый после основного содержимого.
  3. Нажмите кнопку открытия компонента.
  4. Измените текст в редакторе блока и сохраните.

Нужно изменить список новостей

  1. В размещениях найдите нужный тег запроса.
  2. Откройте компонент.
  3. В запросе измените условия, сортировку или количество записей.
  4. Если нужно изменить только внешний вид карточек, меняйте шаблон запроса или назначенное представление.

Нужно понять, почему меню не появилось

  1. Найдите тег навигации в размещениях.
  2. Проверьте, что компонент найден.
  3. Откройте навигацию и проверьте пункты и шаблоны уровней.
  4. Откройте источник и убедитесь, что тег расположен в нужной части шаблона.

Что этот раздел намеренно не делает

  • не переносит компоненты между шаблонами;
  • не исправляет найденные связи автоматически;
  • не включает представления без явного назначения;
  • не заменяет редакторы рубрик, запросов, блоков, меню и модулей;
  • не меняет действующий публичный вывод при простом просмотре карты.

Такое разделение сохраняет предсказуемое поведение: карта помогает найти нужное место, а изменение выполняется в редакторе компонента, который действительно владеет этими данными.