Пользовательские поля и файлы
Структура записи определяется пользовательскими полями HL-блока. Администратор создаёт поля штатными средствами Битрикса: задаёт код, тип, обязательность, кратность и подписи. Публичный редактор использует эту структуру и проверяет допустимость каждого поля.
Поддержанные типы
| Тип | Назначение и ограничения |
|---|---|
string | Строка или многострочный текст согласно настройкам поля |
integer, double | Целые и вещественные числа |
boolean | Да/нет; для множественного варианта редактируются существующие значения |
date, datetime | Дата и дата со временем |
enumeration | Штатное перечисление Битрикса, одиночное или множественное |
hlblock | Выбор записей другого HL с проверкой доступа к цели |
file | Одиночные и множественные файлы |
kokhanenko_integer | Собственный числовой ввод, только одиночное поле |
kokhanenko_unique_code | Уникальный код, только одиночное поле |
kokhanenko_html | Визуальный HTML-редактор, только одиночное поле |
Сторонние пользовательские типы автоматически не поддерживаются. Наличие поля в административной форме ещё не означает, что оно безопасно редактируется в публичной панели. Неподдержанные поля не превращаются в обычные строки и не должны терять значения при сохранении остальных полей.
Сделать поле доступным в редакторе
- Откройте настройку пользовательского поля нужного HL-блока.
- Укажите понятные подписи на нужных языках.
- Проверьте разрешение редактирования (
EDIT_IN_LIST=Y). - Сохраните настройки и заново откройте публичную форму.
- Проверьте поле под учётной записью редактора, а не только администратора.
ID, даты создания/изменения и служебное состояние перехода Content не редактируются через общую публичную форму. Для связей требуется доступ к целевому HL. Внутренние хранилища областей не используются как произвольная цель редактора.
Форма учитывает доступную раскладку полей и вкладок. SEO и OpenGraph добавляются отдельно от раскладки пользовательских полей. Изменение набора полей может сделать уже открытую форму устаревшей — откройте её повторно.
HTML-поле
Тип kokhanenko_html предоставляет визуальный редактор Jodit с форматированием, ссылками, таблицами и изображениями. Разметка проходит обработку модуля. В собственном шаблоне также вызывайте HtmlContent::sanitize() перед выводом такого поля.
Не путайте HTML-поле записи с областью Content типа html: последняя хранит доверенную разметку и имеет другой контракт вывода.
Числа и уникальные коды
kokhanenko_integer проверяет целое значение и границы, а не только атрибуты браузерного поля. Собственный тип не поддерживает множественность. Для обычных множественных чисел используйте штатный тип, соответствующий задаче.
UF_UNIC_CODE ограничен 255 символами и содержит один код записи. Кнопка «Сгенерировать код» подбирает значение, но окончательная проверка выполняется при записи. Не меняйте код опубликованной записи без проверки ссылок. Подробнее: управляемые HL-блоки.
Файлы
Загружайте файлы через контрол конкретного поля. При замене и удалении учитывается принадлежность файлов записи; произвольный ID из браузера не является подтверждением права использовать файл.
Если файл не загружается, проверьте ограничения поля, PHP и веб-сервера. Не повторяйте сохранение вслепую: сначала убедитесь, сохранилась ли запись. Изображения для SEO/OpenGraph имеют отдельные ограничения.