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

11 KiB
Raw Permalink Blame History

Рубрики и поля

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

Рубрика описывает тип контента. Она объединяет поля, форму редактора документа, публичные шаблоны, URL, права и код жизненного цикла. Рубрика не является папкой и сама не формирует дерево сайта.

С чего начать

Перед созданием рубрики ответьте на четыре вопроса:

  1. Какие данные одинаковы для всех документов этого типа?
  2. Какие поля нужны только редактору, а какие участвуют в публичном выводе, поиске, запросах и фильтрах?
  3. Как должен формироваться URL?
  4. Как выглядит один документ и его краткое представление в списке?

Пример для статьи: lead, cover, content, author, published_source. Общие свойства не нужно дублировать несколькими полями ради разных каталогов: для этого используются единый alias характеристики и настройки конкретного каталога.

Конструктор формы

Левая колонка содержит доступные, но ещё не размещённые поля. Центральная область показывает форму документа, правая — настройки выбранного поля.

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

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

Настройки поля в рубрике

Настройки делятся на общие и принадлежащие типу. Одно значение не должно редактироваться в двух местах. Например, для списка значений используется один редактор вариантов, а для «Документ из рубрики» — один выбор рубрики-источника.

Часто используемые параметры:

Параметр Назначение
Название Подпись поля в редакторе документа.
Ширина Количество колонок формы из 12.
Значение по умолчанию Начальное значение нового документа.
Обязательное Запрещает сохранение без корректного значения.
Префикс/суффикс Единица измерения или пояснение рядом с редактором.
Публичный шаблон Разметка значения при выводе документа или запроса.
Путь загрузки Каталог медиа с маркерами документа и поля.

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

Для повторяющихся списков значений не создавайте отдельную рубрику с документами. Используйте лёгкие справочники. Связь с документами рубрики нужна только тогда, когда выбранная сущность имеет собственную страницу и поля.

Шаблоны рубрики

Основной шаблон собирает [tag:maincontent] текущего документа. Дополнительные шаблоны позволяют выбрать другой вид для отдельного документа без изменения его полей.

<article>
  <h1>[tag:fld:title]</h1>
  <div class="article-content">[tag:fld:content]</div>
</article>

Отдельно настраиваются:

  • основной и дополнительные шаблоны документа;
  • Open Graph;
  • вставка в <head> через [tag:rubheader];
  • вставка перед закрытием страницы через [tag:rubfooter];
  • шаблон краткого представления там, где он поддерживается;
  • код до и после сохранения.

Не переносите общую оболочку <html>, <head> и <body> в рубрику: ею владеет шаблон сайта.

Шаблон URL

Шаблон рубрики является префиксом адреса документа. Поддерживаются маркеры даты:

Маркер Значение
%d, %m День и месяц с ведущим нулём.
%Y, %y Год из четырёх или двух цифр.
%H, %M, %S Час, минута и секунда.

Пример: news/%Y/%m. В редакторе документа к результату добавляется короткий alias. Полный путь, введённый вручную с /, система не переписывает шаблоном.

Права

Права рубрики определяют, какие группы могут читать, создавать, редактировать и удалять её документы. Они дополняют права раздела «Документы»: доступ к экрану ещё не означает право менять любую рубрику.

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

Код до и после сохранения

Сохранённый PHP пока поддерживается для проектной логики. Код получает контекст, описанный в информационном блоке редактора, и выполняется через защищённый runtime. Перед сохранением можно нормализовать или отклонить данные, после сохранения — запустить интеграцию, не дублируя основной CRUD документа.

Для переиспользуемой логики предпочтительнее hooks и сервис модуля. Так один обработчик можно подключить к нескольким рубрикам, протестировать и отключить без правки шаблонного кода. См. Хуки документов.

Безопасное изменение рабочей рубрики

  1. Сделайте резервную копию БД.
  2. Не удаляйте поле, пока его значения используются документами, запросами, каталогами или шаблонами.
  3. Сначала добавьте новое поле и перенесите данные.
  4. Проверьте несколько реальных документов и публичных листингов.
  5. Только после этого удаляйте старый alias и очищайте кеш.

Ревизии схемы

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

Перед восстановлением панель показывает три разных результата:

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

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

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

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

Перед каждым восстановлением текущая схема автоматически сохраняется отдельным снимком. Поэтому сразу после операции можно выбрать запись «Перед восстановлением» и безопасно вернуться назад.