Поля документов
Поле определяет не только HTML-инпут. Один тип владеет полным контрактом значения:
- редактированием документа в панели управления;
- настройками поля в конструкторе рубрики;
- нормализацией и серверной валидацией;
- форматом хранения и числовым индексом;
- выводом в документе и в элементах запросов;
- доступными фильтрами каталога;
- событиями до и после обработки значения.
Типы регистрирует App\Content\Fields\FieldRegistry. Ядро содержит базовый набор
в system/App/Content/Fields/Types, а прикладной тип рекомендуется поставлять
вместе с модулем. Панель управления и публичный сайт используют один реестр,
поэтому
отдельного обработчика поля для старой админки нет.
Карта раздела
| Страница | Назначение |
|---|---|
| Справочник типов | Что делает каждый штатный тип и чем рекомендуемые типы отличаются от legacy-типов. |
| Устройство и хранение | Таблицы, FieldContext, scalar/JSON, числовой индекс и этапы обработки. |
| Настройки и валидация | settingsSchema(), доступные контролы и стандартные правила проверки. |
| Разработка своего типа | Рабочий класс поля, регистрация через модуль и проверка. |
| Публичный вывод и шаблоны | doc/req, точечные PHP-шаблоны и доступный контекст. |
| Управление типами | Включение для новых рубрик, совместимость и безопасное удаление модуля. |
Базовый выбор типа
Для нового проекта сначала используйте универсальные нативные типы:
| Задача | Тип |
|---|---|
| Обычный, форматированный текст или код | content |
| Число, цена, процент, единица измерения | number |
| Один или несколько стабильных вариантов | choice |
| Дата или дата со временем | date_time |
| Email, телефон или URL | contact |
| Диапазон значений | range |
| Длина, ширина и высота | dimensions |
| Несколько грузовых мест | packages |
| Структурированный адрес | address |
| Период с началом и окончанием | period |
Старые типы (single_line, multi_line, drop_down, image_* и другие)
остаются полноценными контрактами для существующих данных. Их нельзя массово
переименовывать без отдельной миграции значений и шаблонов.
Где управлять
- Рубрики и поля → Типы полей — какие установленные типы доступны при создании нового поля.
- Рубрики и поля → Рубрики — добавление поля, его настройки, ширина, значение по умолчанию и положение в редакторе документа.
- Документы — ввод значения по правилам выбранного типа.
Отключение типа скрывает его только из списка создания. Уже существующие поля продолжают читаться, редактироваться и выводиться.