Дополнительные поля
Раздел «Доп. поля» (Содержимое → Доп. поля, право settings.manage) — одно место для всех дополнительных полей сайта: «Год», «Режиссёр», «Размер», «Цвет», «Фото галереи». Одно поле заводится один раз и подключается галочками к нужным местам: новости, форум, магазин и другие разделы, которые предлагают свои поля. Поля профиля и атрибуты магазина показаны в том же списке с пометкой и ссылкой в их правку.
Пока ни одно место не отмечено, поле нигде не появляется: ни форм, ни тегов.
Если в блоке «Где поле работает» нет новостей, значит поля новостей ещё не перенесены в общие: форма поля подсказывает это и ведёт кнопкой «Перенести поля новостей» к блоку «Поля новостей» на странице списка.
Создание поля
| Что | Смысл |
|---|---|
| Подпись | что видит человек в форме и на странице |
| Имя для шаблонов | латиница, цифры, _; по нему работают теги. После создания не меняется |
| Вид | строка, длинный текст, целое, дробное, да/нет, дата, дата и время, выбор, несколько вариантов, ссылка, почта, цвет, звёзды, картинка, галерея, файл, звук, ссылка на видео, разметка (HTML) — очищается по белому списку (скрипты, формы, обработчики событий убираются) и заполняется только персоналом, плейлист видео (ссылки https, по одной в строке) и плейлист аудио (файлы из «Медиа»). Не меняется после создания: под ним лежат значения |
| Предел длины | знаков для строки, длинного текста и разметки; 0 — предел вида. Посетитель в форме сайта видит тот же предел (поле не даст ввести больше), а при превышении получает ответ «Не длиннее N знаков» |
| Формат даты | для полей даты на сайте: d.m.Y, j F Y… (знаки PHP date()); пусто — формат сайта |
| Группа | вкладка в форме правки |
| Варианты | для видов с выбором, по одному в строке. значение|подпись хранит значение, показывает подпись: yes|Да |
| Кто заполняет / кто видит | роли через запятую; пусто — все (закрытые поля видит только персонал) |
Где поле работает
Для каждого раздела (хозяина) — галочка и, если у раздела есть рубрики, список рубрик: поле появится только в выбранных. Дальше для места: «показывать в форме для посетителей» (если раздел принимает материалы с сайта) и «обязательно здесь».
Галочки и что они делают
| Галочка | Действие |
|---|---|
| Обязательное | форма не примет пустое |
| Публичное | выключено — поле видно только в панели: нет ни на сайте, ни в поиске, ни в лентах, ни в отборе |
| В списках | значение доступно в элементе списка как {item.field:имя} |
| В карточке | входит в готовый вывод {fields} на странице записи |
| Фильтр | списки можно отбирать по полю: field:имя=значение, field:год>2000 |
| Поиск | значение находит поиск по сайту |
| Значение — ссылка | на сайте значение ведёт на список всех записей с тем же значением |
| В лентах | поле добавляется в RSS раздела |
| Показывать «нет» и ноль | обычно пустое скрывается; для «да/нет» и чисел показать и «нет», и 0 |
Теги в шаблонах
У каждого поля в списке и на странице правки есть набор тегов с кнопкой «Копировать»:
{field:year} значение
{fieldlabel:year} подпись (пусто, если поле не заполнено)
[if:field:year]{fieldlabel:year}: {field:year}[/if]
[each:field:genres]{item.value}[/each] для списков (несколько вариантов, галерея)
[if:field:year>2000]новинка[/if] сравнение: > < >= <= !=
{fields} запасной вывод всех заполненных полей «в карточке»
{item.field:year} внутри элемента спискаПравило одно для всех путей: пустое не выводится нигде — ни значения, ни подписи. Закрытые поля и поля, закрытые ролью, в теги не попадают. В вариантах значение|подпись теги выводят подпись.
Поля новостей
У новостей до сих пор были свои поля. В разделе «Доп. поля» есть блок «Поля новостей»: кнопка переносит их в общие. Порядок: сначала копия в файл (storage/backups/news-fields-….json), потом копирование (старые таблицы остаются), потом сверка по каждому полю (число значений и контрольная сумма). Только при чистой сверке новости переключаются на общие поля. Если имя поля уже занято чужим полем другого вида, перенесённое получает имя с «_news» — поправьте теги в шаблонах (отчёт называет такие поля). «Вернуть» копирует значения обратно в старые таблицы и снимает переключатель. Перенос, откат и удаление поля просят подтверждение в окне панели (с названием действия и пояснением); без «Подтвердить» ничего не меняется. Делайте перенос в тихое время: записи, сохранённые в эти секунды, не переедут.
Удаление
Поле сперва выключают — оно скрыто везде, значения сохранены. Удаляют только выключенное: вводом имени поля и пароля; на экране видно, сколько значений будет стёрто. Удаление необратимо; запись остаётся в журнале.
Безопасность
Значения проверяются по виду и хранятся как текст; на странице всё экранируется, ссылки только http(s) с rel="nofollow noopener", картинки и файлы — только из «Медиа» по номеру (приватные файлы и архивы в поля не ставятся). Посетитель заполняет только поля, помеченные «заполняет посетитель» в форме сайта: подделанное имя поля в запросе до записи не доходит.
Обновлено 16.10.2026
Пока никто не высказался. Будьте первым.