Skip to content

Commit 5c4b5d5

Browse files
authored
Merge pull request #866 from modx-pro/minishop3
версия 1.7.0
2 parents de6e087 + 9742180 commit 5c4b5d5

File tree

9 files changed

+89
-21
lines changed

9 files changed

+89
-21
lines changed

docs/components/minishop3/interface/category.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,23 +67,25 @@ title: Категория
6767
- Реактивные фильтры
6868
- Плавная анимация drag-and-drop
6969

70-
### Системная настройка колонок
70+
### Настройка колонок
7171

72-
Колонки таблицы настраиваются через `ms3_category_grid_fields`:
72+
Колонки таблицы настраиваются через интерфейс **Утилиты → Колонки гридов** (грид `category-products`).
7373

74-
```
75-
id,pagetitle,article,price,weight,image
76-
```
74+
::: warning Устаревшая настройка
75+
Системная настройка `ms3_category_grid_fields` удалена начиная с версии 1.7.0. Используйте интерфейс [Колонки гридов](utilities/grid-columns).
76+
:::
77+
78+
### Inline-редактирование
79+
80+
Двойной клик по ячейке позволяет редактировать значение прямо в таблице:
7781

78-
**Доступные поля:**
82+
| Тип редактора | Поля |
83+
|---------------|------|
84+
| `text` | `pagetitle`, `longtitle`, `article`, `made_in` |
85+
| `number` | `price`, `old_price`, `weight` |
86+
| `boolean` | `published`, `new`, `popular`, `favorite` |
7987

80-
| Группа | Поля |
81-
|--------|------|
82-
| Ресурс | `id`, `pagetitle`, `longtitle`, `alias`, `menuindex`, `template`, `published`, `deleted` |
83-
| Товар | `article`, `price`, `old_price`, `weight`, `image`, `thumb` |
84-
| Флаги | `new`, `popular`, `favorite` |
85-
| Производитель | `vendor_id`, `vendor_name`, `made_in` |
86-
| Даты | `createdon`, `editedon`, `publishedon` |
88+
Настройка редактируемых полей — в [Утилиты → Колонки гридов](utilities/grid-columns) (параметры `editable` и `editType` у колонки).
8789

8890
## Настройка колонок таблицы
8991

@@ -701,7 +703,6 @@ POST /api/mgr/categories/{id}/products/sort
701703

702704
| Настройка | Описание | По умолчанию |
703705
|-----------|----------|--------------|
704-
| `ms3_category_grid_fields` | Видимые колонки таблицы | `id,pagetitle,article,price,weight,image` |
705706
| `ms3_category_show_nested_products` | Показывать вложенные товары | `false` |
706707
| `ms3_category_show_options` | Показывать опции категории | `true` |
707708
| `ms3_category_remember_tabs` | Запоминать активную вкладку | `true` |

docs/components/minishop3/interface/gallery.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,19 @@ MiniShop3 использует библиотеку [Intervention Image](https:/
4848
| AVIF ||| -50% размер (требует Imagick) |
4949
| HEIC ||| Конвертируется при загрузке |
5050

51+
## Интерфейс управления
52+
53+
Галерея товара реализована на Vue 3 + PrimeVue и включает:
54+
55+
- **Сетка изображений** — с drag-and-drop сортировкой, поиском и пагинацией
56+
- **Контекстное меню** — правый клик по изображению для быстрых действий (редактировать, удалить, сделать главным)
57+
- **Панель инструментов** — выбор Media Source, массовые операции (удаление, перегенерация миниатюр)
58+
- **Диалог редактирования** — изменение имени файла, описания, alt-текста
59+
60+
### Смена Media Source
61+
62+
Выбор источника файлов в панели инструментов позволяет переключать Media Source без сохранения всей формы товара. Используется процессор `Product\UpdateSource`.
63+
5164
## Загрузчик изображений
5265

5366
### Технология Uppy

docs/components/minishop3/interface/settings/deliveries.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,24 @@ MiniShop3 позволяет настроить обязательные пол
115115
- Использования сложных правил с регулярными выражениями
116116
- Импорта/экспорта конфигурации
117117

118+
### Кастомные поля валидации
119+
120+
Помимо стандартных полей заказа и адреса, можно добавить произвольные поля с правилами валидации. Например, чекбокс согласия с условиями:
121+
122+
```json
123+
{
124+
"phone": "required",
125+
"email": "required|email",
126+
"agreement": "required|accepted"
127+
}
128+
```
129+
130+
Кастомные поля (`agreement` и другие, не входящие в стандартный набор) сохраняются в черновике заказа между шагами `order/add` и `order/submit`. При создании заказа они передаются в события `msOnBeforeCreateOrder` / `msOnCreateOrder` через параметр `customFields`.
131+
132+
::: tip Чекбоксы
133+
На фронтенде чекбоксы отправляют состояние `input.checked` (`'1'` или `'0'`), а не статический атрибут `value`. Это обеспечивает корректную работу правила `accepted`.
134+
:::
135+
118136
### Доступные поля для валидации
119137

120138
#### Поля заказа

docs/components/minishop3/interface/utilities/grid-columns.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,26 @@ title: Колонки гридов
77

88
## Назначение
99

10-
Инструмент позволяет настраивать колонки в гридах (таблицах) админки:
10+
Основной инструмент настройки колонок в административных таблицах MiniShop3:
1111

1212
- Включать и отключать колонки
1313
- Изменять порядок колонок
1414
- Настраивать сортировку и фильтрацию
1515
- Задавать ширину колонок
1616
- Добавлять кастомные колонки
17+
- Настраивать inline-редактирование (для грида `category-products`)
18+
19+
::: info Начиная с версии 1.7.0
20+
Системная настройка `ms3_category_grid_fields` удалена. Настройка колонок таблицы товаров в категории выполняется только через этот интерфейс.
21+
:::
1722

1823
## Доступные гриды
1924

2025
| Грид | Описание |
2126
|------|----------|
2227
| `customers` | Список покупателей |
2328
| `orders` | Список заказов |
24-
| `products` | Список товаров в категории |
29+
| `category-products` | Список товаров в категории |
2530
| `order_products` | Товары в заказе |
2631
| `vendors` | Список производителей |
2732

docs/components/minishop3/settings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ title: Системные настройки
2121
| Настройка | По умолчанию | Описание |
2222
|-----------|--------------|----------|
2323
| `ms3_template_category_default` | | Шаблон по умолчанию для новых категорий |
24-
| `ms3_category_grid_fields` | `id,menuindex,pagetitle,article,price,thumb,new,favorite,popular` | Видимые поля в таблице товаров категории |
2524
| `ms3_category_show_nested_products` | `true` | Показывать вложенные товары из подкатегорий |
2625
| `ms3_category_show_options` | `false` | Показывать опции товаров в таблице категории |
2726
| `ms3_category_remember_tabs` | `true` | Запоминать активную вкладку панели категории |
@@ -73,6 +72,7 @@ title: Системные настройки
7372
| `ms3_weight_snippet` | | Имя сниппета-модификатора веса |
7473
| `ms3_currency_symbol` | `` | Символ валюты (₽, $, €, £, ₴, ¥, ₸) |
7574
| `ms3_currency_position` | `after` | Позиция символа: `before` ($ 100) или `after` (100 ₽) |
75+
| `ms3_weight_unit` | `г` | Единица измерения веса (г, кг, lbs). Используется в `*_formatted` плейсхолдерах |
7676

7777
## Корзина
7878

docs/components/minishop3/snippets/mscart.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,13 @@ title: msCart
152152
- `{$product.old_price}` — Старая цена
153153
- `{$product.discount_price}` — Скидка на единицу
154154
- `{$product.discount_cost}` — Скидка на позицию (количество × скидка)
155+
- `{$product.price_formatted}` — Цена с валютой (например `1 234 ₽`)
156+
- `{$product.old_price_formatted}` — Старая цена с валютой
157+
- `{$product.cost_formatted}` — Стоимость позиции с валютой
158+
- `{$product.old_cost_formatted}` — Старая стоимость позиции с валютой
159+
- `{$product.weight_formatted}` — Вес с единицей (например `500 г`)
160+
- `{$product.discount_price_formatted}` — Скидка на единицу с валютой
161+
- `{$product.discount_cost_formatted}` — Скидка на позицию с валютой
155162
- `{$product.options}` — Массив опций
156163
- `{$product.option_*}` — Опции как отдельные поля (например `option_size`)
157164
- Все поля товара (`pagetitle`, `article`, `thumb` и т.д.)

docs/components/minishop3/snippets/msorder.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,14 @@ title: msOrder
7575
'delivery_id' => 1,
7676
'payment_id' => 2,
7777
'comment' => '...',
78-
'cost' => '5 300 ₽', // Итого (форматировано)
79-
'cart_cost' => '5 000 ₽', // Стоимость товаров
80-
'delivery_cost' => '300 ₽', // Стоимость доставки
81-
'discount_cost' => '0 ₽', // Скидка
78+
'cost' => 5300, // Итого (число)
79+
'cost_formatted' => '5 300 ₽', // Итого с валютой
80+
'cart_cost' => 5000, // Стоимость товаров
81+
'cart_cost_formatted' => '5 000 ₽',
82+
'delivery_cost' => 300, // Стоимость доставки
83+
'delivery_cost_formatted' => '300 ₽',
84+
'discount_cost' => 0, // Скидка
85+
'discount_cost_formatted' => '0 ₽',
8286
],
8387
'form' => [
8488
'first_name' => 'Иван',

docs/components/minishop3/snippets/msordertotal.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,16 @@ title: msOrderTotal
131131
| Поле | Описание |
132132
|------|----------|
133133
| `cost` | Итого к оплате (товары + доставка + комиссия оплаты) |
134+
| `cost_formatted` | Итого с символом валюты |
134135
| `cart_cost` | Стоимость товаров |
136+
| `cart_cost_formatted` | Стоимость товаров с валютой |
135137
| `delivery_cost` | Стоимость доставки |
138+
| `delivery_cost_formatted` | Стоимость доставки с валютой |
136139
| `payment_cost` | Комиссия за способ оплаты |
137140
| `total_count` | Общее количество товаров |
138141
| `total_cost` | Стоимость товаров (дубль `cart_cost`) |
139142
| `total_weight` | Общий вес |
143+
| `total_weight_formatted` | Общий вес с единицей измерения |
140144
| `total_discount` | Сумма скидки |
141145
| `total_positions` | Количество позиций (уникальных товаров) |
142146

docs/components/minishop3/snippets/msproducts.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,22 @@ title: msProducts
366366
- `{$tags}` — Теги (JSON)
367367
- `{$discount}` — Скидка в процентах (вычисляется автоматически)
368368

369+
### Форматированные плейсхолдеры
370+
371+
Плейсхолдеры с суффиксом `_formatted` содержат значение с символом валюты / единицей веса, отформатированное по настройкам `ms3_price_format`, `ms3_currency_symbol`, `ms3_currency_position` и `ms3_weight_unit`:
372+
373+
- `{$price_formatted}` — Цена с валютой (например `1 234 ₽`)
374+
- `{$old_price_formatted}` — Старая цена с валютой
375+
- `{$cost_formatted}` — Стоимость с валютой
376+
- `{$old_cost_formatted}` — Старая стоимость с валютой
377+
- `{$weight_formatted}` — Вес с единицей (например `500 г`)
378+
- `{$discount_price_formatted}` — Скидка на единицу с валютой
379+
- `{$discount_cost_formatted}` — Скидка на позицию с валютой
380+
381+
::: warning Breaking change (v1.7.0)
382+
`cost_formatted` теперь включает символ валюты. Кастомные чанки, добавляющие валюту вручную к `cost_formatted`, получат двойной символ.
383+
:::
384+
369385
### Поля производителя (Vendor)
370386

371387
При `includeVendorFields`:

0 commit comments

Comments
 (0)