MiniShop3 1.0.0-alpha.4 — Большое обновление админки
Привет, сообщество!
Рад представить новую версию MiniShop3 1.0.0-alpha.4
В этом релизе был сосредоточен на модернизации админки.
Список заказов полностью переписан на Vue.
Таблица заказов полностью конфигурируема. Можно добавлять колонки из заказа и адреса, из других моделей, или вообще делать вычисляемые колонки. Я к примеру, пробовал выводить средний чек клиента в каждом заказе. Подробнее о конфигураторе будет написано в документации и последующих обзорах.

Страниц просмотра заказа сделана с нуля. Напомню, раньше это было модальное окно. Поля выводимые в адресе и в информации о заказе конфигурируются. Можно вывести или наоборот скрыть что-то.


Большая работа проведена с товарами заказа. В частности много внимания обратил на опции товара.
Теперь их можно менять. Предусмотрен небольшой конструктор опций. Предусмотрена выборка полей и их значений. Предусмотрен ввод опций товара вручную (буквально ключ-значение). При необходимости есть переключение в голый JSON.
Реализовано удобное добавление товара в заказ. Ну и конечно реализовано создание заказа из админки.

Также хочу обратить внимание — я полностью переработал логику логирования заказа. Раньше на вкладке История заказа отмечалось только время смены статуса. Но, думаю, вы не будете спорить что у заказа может быть гораздо более глубокая история. Это и добавление товаров в заказ (и удаление), и замена контактных данных.
По умолчанию фиксируется история для настроек: status,products,field,address

Сделал полный рефакторинг всех вкладок страницы Настройки, кроме опций. Из нового хочу отметить настройку валидации для служб доставки.
Как было раньше. Нужно было перечислить через запятую поля, обязательные для заполнения.
Сейчас подключена популярная библиотека валидации rakit/validation которая позволяет использовать множество разных правил валидации (не только required). Например валидировать Email. Url. Только цифры, Только строки. И так далее.
В новой версии реализован визуальный конструктор валидатора


Реализован достаточно удобный визуальный импорт данных из CSV. Достаточно простой, но изящный.
Предусмотрен маппинг полей (указываем какая колонка из CSV в какое поле сохраняем). Предусмотрена нормализация кодировки. Автоматически определяет кодировку (UTF-8/Windows-1251).




Как всегда скачать свежий релиз можно здесь
Open Source живёт благодаря вам
MiniShop3 развивается силами сообщества. Если новый релиз и предыдущие обновления оказались полезны — поддержите проект и лично меня вашими новогодними донатами.
Все наши реквизиты есть на специальной странице.
Рад представить новую версию MiniShop3 1.0.0-alpha.4
В этом релизе был сосредоточен на модернизации админки.
Vue-страница заказов
Список заказов полностью переписан на Vue.
Таблица заказов полностью конфигурируема. Можно добавлять колонки из заказа и адреса, из других моделей, или вообще делать вычисляемые колонки. Я к примеру, пробовал выводить средний чек клиента в каждом заказе. Подробнее о конфигураторе будет написано в документации и последующих обзорах.

Страниц просмотра заказа сделана с нуля. Напомню, раньше это было модальное окно. Поля выводимые в адресе и в информации о заказе конфигурируются. Можно вывести или наоборот скрыть что-то.


Большая работа проведена с товарами заказа. В частности много внимания обратил на опции товара.
Теперь их можно менять. Предусмотрен небольшой конструктор опций. Предусмотрена выборка полей и их значений. Предусмотрен ввод опций товара вручную (буквально ключ-значение). При необходимости есть переключение в голый JSON.
Реализовано удобное добавление товара в заказ. Ну и конечно реализовано создание заказа из админки.

Также хочу обратить внимание — я полностью переработал логику логирования заказа. Раньше на вкладке История заказа отмечалось только время смены статуса. Но, думаю, вы не будете спорить что у заказа может быть гораздо более глубокая история. Это и добавление товаров в заказ (и удаление), и замена контактных данных.
По умолчанию фиксируется история для настроек: status,products,field,address
- status — Смена статуса заказа
- products — Изменение товаров (добавление/изменение/удаление)
- field — Изменение полей заказа
- address — Изменение адреса доставки
- payment — Платежи и возвраты

Раздел «Настройки» на Vue
Сделал полный рефакторинг всех вкладок страницы Настройки, кроме опций. Из нового хочу отметить настройку валидации для служб доставки.
Как было раньше. Нужно было перечислить через запятую поля, обязательные для заполнения.
Сейчас подключена популярная библиотека валидации rakit/validation которая позволяет использовать множество разных правил валидации (не только required). Например валидировать Email. Url. Только цифры, Только строки. И так далее.
В новой версии реализован визуальный конструктор валидатора


Новый импорт из CSV
Реализован достаточно удобный визуальный импорт данных из CSV. Достаточно простой, но изящный.
Предусмотрен маппинг полей (указываем какая колонка из CSV в какое поле сохраняем). Предусмотрена нормализация кодировки. Автоматически определяет кодировку (UTF-8/Windows-1251).




Как всегда скачать свежий релиз можно здесь
Open Source живёт благодаря вам
MiniShop3 развивается силами сообщества. Если новый релиз и предыдущие обновления оказались полезны — поддержите проект и лично меня вашими новогодними донатами.
Все наши реквизиты есть на специальной странице.
Комментарии: 24
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Спасибо!
Нужно же и платным компонентам дорогу для развития оставлять.
Could not unpack package /home/.../public_html/core/packages/minishop3-1.0.0-alpha.4.transport.zip to /home/.../public_html/core/packages/. SIG: minishop3-1.0.0-alpha.4
Невозможно установить пакет с подписью: minishop3-1.0.0-alpha.4
В чем может быть причина?
1) Есть/будет ли возможность расширять страницы? Например я делаю плагин какого либо сервиса доставки и мне на странице заказа в админки нужно вывести какие то свои поля и какой то js код для их работы с своими данными/сервисами.
2) Переработана ли логика событий что бы данные не перезатирались в последним плагинам? Сейчас например в MiniShop2 если событие которое возвращает цену заказа будет обработано в 2 разных плагинах то 2й во первых не увидит изменения сделанные первым, а во вторых затрет его изменения.
Итого у нас есть две утилиты
1. Добавление полей в базу данных и в карту модели.
2. Добавление полей на страницу админки.
Есть еще третья утилиты — вывод колонок в таблицах-гридах.
2) Нет с плагинами ничего не делал. Проблему я понял. Подумаю что можно сделать
Справедливости ради, в некоторых местах $modx->eventData игнорируется. Это исправлю к следующему релизу
Да и вообще, например если захочется добавить какие то дополнительные поля, как их добавлять и редактировать с фронта?
А подскажи еще, я создал товар.
Я на скоряк создал товар (для ознакомления), заполнил только цену старую и новую.
Вывожу шаблон с товаром на фронте, и в карточке товара вот такая ошибка выходит.
Deprecated: Optional parameter $options declared before required parameter $info is implicitly treated as a required parameter in ....../core/components/minishop3/src/Model/msProductFile.php on line 201
а так же, я вывел в шапке
и когда в карточе товара нажимаю добавить товар, то он добавляется, выходит сообщение о том что добавилось, и правильное количество товара показывает.
Но в шапке у корзины он всегда показывает сообщение что корзина пустая.
Я что то мог не донастроить?
я так понимаю там какие то обязательные поля надо заполнять?
Временное решение:
Откройте файл core/components/minishop3/src/Model/msProductFile.php и измените строку 201:
Это временный фикс. Исправление будет включено в следующее обновление MiniShop3.
Как это работает:
- При вызове msCart сниппет регистрирует себя с уникальным токеном
- После добавления товара сервер возвращает отрендеренный HTML с этим токеном
- JavaScript (CartUI.js:316-318) ищет selector чтобы знать куда вставить HTML
- Если selector не указан — обновление пропускается
Решение:Оберните корзину в контейнер с id и укажите параметр selector:
Или короче через Fenom:
Важно:
Спасибо
Ибо это дополнение никак не развивается и не дорабатывается, и портироваться под MiniShop3 скорее всего не будет (даже сейчас есть проблемы по работе этого дополнения, которые никак не исправляются), а необходимость в таком функционале имеется и желательно в движке из коробки.
Сайт работает через HTTPS?
Другие компоненты modstore отображаются?