
Утилиты: Поля модели
Управление существующими полями моделей из базы данных.
Назначение
Инструмент позволяет управлять полями, зарегистрированными в таблице ms3_product_fields:
- Просмотр всех полей модели
- Редактирование настроек отображения
- Привязка полей к секциям
- Настройка виджетов (xtype)
- Управление секциями полей
Отличие от "Дополнительных полей"
| Характеристика | Поля модели | Дополнительные поля |
|---|---|---|
| Источник | Существующие поля в БД | Новые поля |
| Создание колонок | Нет | Да (ALTER TABLE) |
| Удаление | Только из конфигурации | Полное удаление |
| Применение | Настройка отображения | Расширение схемы |
Интерфейс
Выбор модели
Фильтр по модели в верхней части страницы:
- msProductData — данные товара
- msVendor — производители
- msOrder — заказы
- msOrderAddress — адреса
Панель секций
Левая панель содержит список секций для выбранной модели.
Действия с секциями:
- Добавить новую секцию
- Редактировать существующую
- Удалить секцию
- Изменить порядок (drag-and-drop)
Таблица полей
Правая часть отображает поля с настройками:
| Колонка | Описание |
|---|---|
| Имя | Системное имя поля |
| Название | Отображаемое название |
| Тип (xtype) | Тип виджета |
| Секция | Принадлежность к секции |
| Видимость | Показывать ли поле |
| Ширина | Ширина в сетке (3-12) |
Редактирование поля
Кликните на строку для открытия диалога редактирования.
Основные параметры
| Параметр | Описание |
|---|---|
| Название | Отображаемое имя поля |
| Описание | Подсказка под полем ввода |
| Секция | Группа, в которой отображается поле |
| Видимость | Показывать поле в форме |
Тип виджета (xtype)
| Тип | Описание |
|---|---|
textfield | Текстовое поле |
numberfield | Числовое поле |
textarea | Многострочное поле |
combo | Выпадающий список |
datefield | Выбор даты |
checkbox | Флажок |
Ширина в сетке
Система использует 12-колоночную сетку:
| Значение | Ширина | Описание |
|---|---|---|
| 3 | 25% | Четверть строки |
| 4 | 33% | Треть строки |
| 6 | 50% | Половина строки |
| 8 | 67% | Две трети строки |
| 12 | 100% | Вся строка |
Источник данных для combo
Для типа combo укажите JSON-конфигурацию:
{
"store": [
["value1", "Вариант 1"],
["value2", "Вариант 2"],
["value3", "Вариант 3"]
]
}Или загрузка из API:
{
"url": "/api/mgr/options/list",
"valueField": "id",
"displayField": "name"
}Управление секциями
Создание секции
- Нажмите кнопку "+" в панели секций
- Заполните форму:
| Поле | Описание |
|---|---|
| Ключ | Уникальный идентификатор |
| Название | Отображаемое название |
| Порядок | Позиция в списке секций |
Редактирование секции
Кликните на иконку редактирования рядом с названием секции.
Удаление секции
Внимание
При удалении секции поля не удаляются, а перемещаются в "Без секции".
Порядок секций
Перетаскивайте секции для изменения порядка отображения.
Примеры использования
Группировка полей цены
Создайте секцию "Цены":
- Ключ:
prices - Название:
Цены
- Ключ:
Переместите поля в секцию:
price→ Ценыold_price→ Ценыwholesale_price→ Цены (если добавлено)
Настройка ширины полей
Для компактного отображения:
| Поле | Ширина |
|---|---|
| article | 6 (50%) |
| price | 3 (25%) |
| old_price | 3 (25%) |
| weight | 4 (33%) |
| remains | 4 (33%) |
Скрытие технических полей
Поля, которые обычно скрывают:
id— генерируется автоматическиcreatedon— технические датыsource— если используется один источник
API Endpoints
Список моделей
GET /api/mgr/model-fields/modelsОтвет:
{
"success": true,
"object": {
"models": [
{ "value": "msProductData", "label": "Данные товара" },
{ "value": "msVendor", "label": "Производитель" }
]
}
}Список полей модели
GET /api/mgr/model-fields?model=msProductDataОбновление поля
PUT /api/mgr/model-fields/{id}Тело запроса:
{
"label": "Артикул товара",
"xtype": "textfield",
"section_id": 1,
"visible": true,
"width": 6,
"description": "Уникальный код товара"
}Секции модели
GET /api/mgr/model-fields/sections?model=msProductDataСоздание секции
POST /api/mgr/model-fields/sectionsТело запроса:
{
"model": "msProductData",
"key": "prices",
"label": "Цены",
"sort_order": 10
}Удаление секции
DELETE /api/mgr/model-fields/sections/{id}Связь с конфигурацией
Изменения в этом разделе влияют на:
- Карточку товара — отображение полей на вкладке "Данные"
- Гриды — доступные колонки для отображения
- Импорт — список доступных полей для сопоставления
- API — сериализация объектов
Для применения изменений в интерфейсе может потребоваться:
- Перезагрузка страницы
- Очистка кэша браузера
- Очистка кэша MODX
