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

Утилиты: Поля модели

Управление существующими полями моделей из базы данных.

Назначение

Инструмент позволяет управлять полями, зарегистрированными в таблице ms3_product_fields:

  • Просмотр всех полей модели
  • Редактирование настроек отображения
  • Привязка полей к секциям
  • Настройка виджетов (xtype)
  • Управление секциями полей

Отличие от "Дополнительных полей"

ХарактеристикаПоля моделиДополнительные поля
ИсточникСуществующие поля в БДНовые поля
Создание колонокНетДа (ALTER TABLE)
УдалениеТолько из конфигурацииПолное удаление
ПрименениеНастройка отображенияРасширение схемы

Интерфейс

Выбор модели

Фильтр по модели в верхней части страницы:

  • msProductData — данные товара
  • msVendor — производители
  • msOrder — заказы
  • msOrderAddress — адреса

Панель секций

Левая панель содержит список секций для выбранной модели.

Действия с секциями:

  • Добавить новую секцию
  • Редактировать существующую
  • Удалить секцию
  • Изменить порядок (drag-and-drop)

Таблица полей

Правая часть отображает поля с настройками:

КолонкаОписание
ИмяСистемное имя поля
НазваниеОтображаемое название
Тип (xtype)Тип виджета
СекцияПринадлежность к секции
ВидимостьПоказывать ли поле
ШиринаШирина в сетке (3-12)

Редактирование поля

Кликните на строку для открытия диалога редактирования.

Основные параметры

ПараметрОписание
НазваниеОтображаемое имя поля
ОписаниеПодсказка под полем ввода
СекцияГруппа, в которой отображается поле
ВидимостьПоказывать поле в форме

Тип виджета (xtype)

ТипОписание
textfieldТекстовое поле
numberfieldЧисловое поле
textareaМногострочное поле
comboВыпадающий список
datefieldВыбор даты
checkboxФлажок

Ширина в сетке

Система использует 12-колоночную сетку:

ЗначениеШиринаОписание
325%Четверть строки
433%Треть строки
650%Половина строки
867%Две трети строки
12100%Вся строка

Источник данных для combo

Для типа combo укажите JSON-конфигурацию:

json
{
  "store": [
    ["value1", "Вариант 1"],
    ["value2", "Вариант 2"],
    ["value3", "Вариант 3"]
  ]
}

Или загрузка из API:

json
{
  "url": "/api/mgr/options/list",
  "valueField": "id",
  "displayField": "name"
}

Управление секциями

Создание секции

  1. Нажмите кнопку "+" в панели секций
  2. Заполните форму:
ПолеОписание
КлючУникальный идентификатор
НазваниеОтображаемое название
ПорядокПозиция в списке секций

Редактирование секции

Кликните на иконку редактирования рядом с названием секции.

Удаление секции

Внимание

При удалении секции поля не удаляются, а перемещаются в "Без секции".

Порядок секций

Перетаскивайте секции для изменения порядка отображения.

Примеры использования

Группировка полей цены

  1. Создайте секцию "Цены":

    • Ключ: prices
    • Название: Цены
  2. Переместите поля в секцию:

    • price → Цены
    • old_price → Цены
    • wholesale_price → Цены (если добавлено)

Настройка ширины полей

Для компактного отображения:

ПолеШирина
article6 (50%)
price3 (25%)
old_price3 (25%)
weight4 (33%)
remains4 (33%)

Скрытие технических полей

Поля, которые обычно скрывают:

  • id — генерируется автоматически
  • createdon — технические даты
  • source — если используется один источник

API Endpoints

Список моделей

GET /api/mgr/model-fields/models

Ответ:

json
{
  "success": true,
  "object": {
    "models": [
      { "value": "msProductData", "label": "Данные товара" },
      { "value": "msVendor", "label": "Производитель" }
    ]
  }
}

Список полей модели

GET /api/mgr/model-fields?model=msProductData

Обновление поля

PUT /api/mgr/model-fields/{id}

Тело запроса:

json
{
  "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

Тело запроса:

json
{
  "model": "msProductData",
  "key": "prices",
  "label": "Цены",
  "sort_order": 10
}

Удаление секции

DELETE /api/mgr/model-fields/sections/{id}

Связь с конфигурацией

Изменения в этом разделе влияют на:

  1. Карточку товара — отображение полей на вкладке "Данные"
  2. Гриды — доступные колонки для отображения
  3. Импорт — список доступных полей для сопоставления
  4. API — сериализация объектов

Для применения изменений в интерфейсе может потребоваться:

  • Перезагрузка страницы
  • Очистка кэша браузера
  • Очистка кэша MODX