Кастомизация форм элементов
Администратор портала может изменить вид форм создания, просмотра и редактирования элемента списка:
- Скрипт формы — небольшой JavaScript (как скрипт на странице): скрыть поле, запретить правку и т.п.
- Веб-части — виджеты до или после стандартных полей (или вместо них).
- Показывать область формы — показать или скрыть зону полей (не путать с макетом конструктора Portal Forms).
На библиотеки документов и на быстрое редактирование в таблице эти настройки не влияют.
Если вам не нужны скрипты и виджеты — этот гайд можно пропустить: обычные формы работают «из коробки» после создания полей.
1. Где настраивать
Заголовок раздела «1. Где настраивать»- Войдите как администратор портала.
- Откройте список → Настройки списка.
- Вкладка Формы.
- Три подвкладки: Создание / Просмотр / Редактирование.
Настройте каждую подвкладку отдельно, если поведение должно отличаться.
2. Скрипт формы — что это даёт
Заголовок раздела «2. Скрипт формы — что это даёт»Скрипт выполняется в браузере после отрисовки формы. Типичные задачи:
- сделать поле только для чтения;
- скрыть поле от пользователя;
- подставить значение по умолчанию.
Пример: запретить менять статус вручную
Заголовок раздела «Пример: запретить менять статус вручную»На подвкладке Редактирование вставьте в поле скрипта:
context.setFieldDisabled('status', true);Здесь status — внутреннее имя поля (латиницей). Его видно в настройках поля / у разработчиков. Можно указать и длинный идентификатор поля (UUID), если так удобнее команде.
Сохраните настройки форм.
Что ожидать
Заголовок раздела «Что ожидать»- На форме редактирования поле «Статус» нельзя изменить мышкой.
- Это защита только интерфейса. Опытный пользователь теоретически может обойти её через API — для жёсткого запрета нужна серверная проверка (расширение Event Receiver; этим занимаются разработчики).
3. Полезные команды скрипта (кратко)
Заголовок раздела «3. Полезные команды скрипта (кратко)»| Действие | Идея |
|---|---|
| Заблокировать поле | setFieldDisabled |
| Скрыть / показать | hideField / showField |
| Прочитать значения формы | getFormValues |
| Записать значение | setFieldValue |
Точные имена методов и примеры — для разработчиков в API: Списки (раздел про form_config).
4. Веб-части на форме
Заголовок раздела «4. Веб-части на форме»В настройках формы можно разместить веб-части:
| Режим | Поведение |
|---|---|
| До формы / После формы | Стандартные поля остаются; виджеты сверху или снизу |
| «Показывать область формы» выключено | Видны только веб-части; стандартных кнопок «Создать» / «Сохранить» нет — сохранение должна делать веб-часть |
Шапка страницы (назад, заголовок, права, удаление) обычно остаётся.
Как ставить веб-части на обычные страницы: WebPart на страницах.
5. Проверка
Заголовок раздела «5. Проверка»- Откройте список → создайте / откройте / отредактируйте элемент.
- Убедитесь, что скрипт и виджеты сработали на нужной форме.
- Если ничего не изменилось — обновите страницу, проверьте, что правили ту же подвкладку (Создание ≠ Редактирование), и что вы администратор.
6. Конструктор макета (Portal Forms)
Заголовок раздела «6. Конструктор макета (Portal Forms)»При лицензии korport.forms на вкладке Формы доступна кнопка Открыть конструктор: секции, колонки, размещение полей, HTML и веб-частей, отдельная вкладка скрипта. Подробнее: Формы (Portal Forms).
См. также
Заголовок раздела «См. также»- Формы (Portal Forms)
- Создание элемента
- Создание списка и полей
- Списки и библиотеки
- Для разработчиков: кастомная форма WebPart — текущий элемент через
ctx.Host(ListId,ItemRef,FormMode)