
Утилиты: Поля модели
Поля из таблицы ms3_model_fields: отображение уже существующих колонок моделей.
Назначение
Правите подписи, виджеты и секции существующих полей; данные в таблицах не меняются.
Не путать с page-fields
Поля товара (ms3_product_fields, page_key=product_data) настраивают только вкладку «Свойства товара» на карточке товара. Дополнительные поля создают новые колонки в БД. Cookbook: Поля модели.
Отличие от дополнительных полей
| Характеристика | Поля модели | Дополнительные поля |
|---|---|---|
| Источник | Существующие поля в БД | Новые поля |
| Создание колонок | Нет | Да (ALTER TABLE) |
| Удаление | Только из конфигурации | Полное удаление |
| Применение | Настройка отображения | Расширение схемы |
Интерфейс
Выбор модели
Фильтр по модели вверху страницы — доступны 4 модели:
- msOrder — заказы
- msOrderAddress — адреса
- msOrderProduct — позиции в заказе
- msVendor — производители
msProductData в этом списке нет: данные товара настраиваются в Поля товара.
Панель секций
Левая панель: секции выбранной модели.
Таблица полей
Правая часть: поля и настройки.
| Колонка | Описание |
|---|---|
| Имя | Системное имя поля |
| Название | Отображаемое название |
| Тип (xtype) | Тип виджета |
| Секция | Принадлежность к секции |
| Видимость | Показывать ли поле |
| Ширина | Ширина в сетке (3-12) |
Редактирование поля
Кликните строку, откроется диалог редактирования.
Основные параметры
| Параметр | Описание |
|---|---|
| Название | Отображаемое имя поля |
| Описание | Подсказка под полем ввода |
| Секция | Группа, в которой отображается поле |
| Видимость | Показывать поле в форме |
Тип виджета (xtype)
| Тип | Описание |
|---|---|
textfield | Текстовое поле |
numberfield | Числовое поле |
textarea | Многострочное поле |
combo | Выпадающий список |
datefield | Выбор даты |
checkbox | Флажок |
Ширина в сетке
Сетка на 12 колонок:
| Значение | Ширина | Описание |
|---|---|---|
| 3 | 25% | Четверть строки |
| 4 | 33% | Треть строки |
| 6 | 50% | Половина строки |
| 8 | 67% | Две трети строки |
| 12 | 100% | Вся строка |
Источник данных для combo
Для типа combo укажите JSON-конфигурацию с обязательным source.type.
Модель (класс из реестра):
{
"source": {
"type": "model",
"class": "MiniShop3\\Model\\msOption",
"valueField": "id",
"labelTemplate": "{caption}",
"where": {"active": true},
"limit": 500
}
}Статический список:
{
"source": {
"type": "static",
"options": [
["value1", "Вариант 1"],
["value2", "Вариант 2"]
]
}
}Поле url не нужно: готового роута GET /api/mgr/options/list нет, список опций отдаёт GET /api/mgr/options.
Управление секциями
Создание секции
- Нажмите кнопку «+» в панели секций
- Заполните форму:
| Поле | Описание |
|---|---|
| Ключ | Уникальный идентификатор |
| Название | Отображаемое название |
| Порядок | Позиция в списке секций |
Редактирование секции
Кликните иконку редактирования рядом с названием секции.
Удаление секции
Внимание
При удалении секции поля не удаляются, а перемещаются в «Без секции».
Порядок секций
Перетаскивайте секции, чтобы сменить порядок.
Примеры использования
Скрытие технических полей
Поля, которые обычно скрывают:
id— генерируется автоматическиcreatedon— технические датыsource— если используется один источник
API-эндпоинты
Список моделей
GET /api/mgr/model-fields/modelsОтвет:
{
"success": true,
"data": {
"models": [
{ "value": "msOrder", "label": "Заказ" },
{ "value": "msVendor", "label": "Производитель" }
]
}
}Список полей модели
GET /api/mgr/model-fields?model=msOrderСоздание поля
POST /api/mgr/model-fieldsТело — параметры поля (те же, что в диалоге: label, xtype, section_id, visible, width, …). Требуется mssetting_save.
Обновление поля
PUT /api/mgr/model-fields/{id}Тело запроса:
{
"label": "Артикул товара",
"xtype": "textfield",
"section_id": 1,
"visible": true,
"width": 6,
"description": "Уникальный код товара"
}Переупорядочивание полей
PUT /api/mgr/model-fields/ranksТело — JSON с новым порядком полей (как в drag-and-drop интерфейса). Требуется mssetting_save.
Секции модели
GET /api/mgr/model-fields/sections/msOrderСоздание секции
POST /api/mgr/model-fields/sectionsТело запроса:
{
"model": "msOrder",
"section_key": "prices",
"label": "Цены",
"sort_order": 10
}Редактирование секции
PUT /api/mgr/model-fields/sections/{id}Тело — изменяемые поля секции (label, sort_order, …). Требуется mssetting_save.
Переупорядочивание секций
PUT /api/mgr/model-fields/sections/ranksТело — JSON с новым порядком секций. Требуется mssetting_save.
Удаление секции
DELETE /api/mgr/model-fields/sections/{id}Связь с конфигурацией
Не путайте с Поля товара (product_data) и с Колонки гридов. Влияние на CSV-импорт и публичный API этим экраном не задаётся.
