Skip to content
MiniShop3
MiniShop3
Современный компонент интернет-магазина для MODX 3
  1. Компоненты
  2. MiniShop3
  3. Cookbook менеджера
  4. Поля модели

Cookbook полей модели

Поля модели настраивают отображение колонок, которые уже есть в БД. Новую колонку создают через extra fields.

Справочник: Поля модели.

Цель

Вы группируете поля по секциям, задаёте xtype и ширину, скрываете технические колонки. Vue-форма заказа и других сущностей читает visible-список с сервера.

Модели

model (короткое имя)Форма в менеджере
msOrderКарточка заказа
msOrderAddressАдрес в заказе
msOrderProductПозиция заказа
msVendorПроизводитель
msProductDataДанные товара (часть полей)

Visible list vs полный CRUD

ЗапросНазначение
GET /api/mgr/model-fields/visible/{model}Поля для Vue-формы (только visible)
GET /api/mgr/model-fields?model={model}Полный список в утилите «Поля модели»
PUT /api/mgr/model-fields/{id}Метаданные одного поля
PUT /api/mgr/model-fields/ranksПорядок полей (drag-and-drop)

Карточка заказа вызывает visible/msOrder и visible/msOrderAddress при загрузке.

Кейс: секция «Дополнительно» на заказе

  1. Утилиты → Поля модели → модель msOrder.
  2. Создайте секцию:
    • ключ extra_info
    • название «Дополнительно»
    • sort_order по необходимости
  3. Откройте поле (например comment) → укажите секцию Дополнительно, visible = true, ширину 12.
  4. Перетащите секции и поля для нужного порядка.

Порядок секций: PUT /api/mgr/model-fields/sections/ranks. Порядок полей: PUT /api/mgr/model-fields/ranks.

Сортировка секций

Если drag-and-drop секций не сохраняется, см. issue #611.

Кейс: скрыть техническое поле

  1. Найдите поле в списке (например token или properties).
  2. Снимите Видимость или перенесите в секцию, которую не показываете на форме.
  3. Убедитесь, что поле не попало в GET .../visible/msOrder.

Связь с page-fields

СистемаТаблицаAPIОбласть
Model fieldsms3_model_fields/api/mgr/model-fields/*Модели MS3 (заказ, vendor, …)
Page fieldsms3_product_fields/api/mgr/config/page-fields/product_dataТолько вкладка «Данные» товара

Extra field на msProductData создаёт колонку и строку в ms3_product_fields. Дальше раскладку вкладки правят в Поля товара, не дублируя запись в model fields.

API appendix

Секции

http
GET /api/mgr/model-fields/sections/{model}
POST /api/mgr/model-fields/sections
PUT /api/mgr/model-fields/sections/{id}
PUT /api/mgr/model-fields/sections/ranks
DELETE /api/mgr/model-fields/sections/{id}

Visible fields

http
GET /api/mgr/model-fields/visible/msOrder

Combo для xtype combo

http
GET /api/mgr/model-fields/combo-options/{model}/{field_name}

Запись во все эндпойнты: mssetting_save.

Troubleshooting

СимптомДействие
403Политики MS3, см. issue #613
Поле не на формеvisible = false или поле не в visible-ответе
Путаница с extra fieldsExtra создаёт колонку. Model fields только UI. См. #214
Изменения не видныОбновите страницу карточки

См. Cookbook менеджера.