Релиз miniShop2 ver. 2.7.0
Всем привет!
Сегодня анонсируем обновление miniShop2 версии 2.7.0.
Что же мы подготовили в данном релизе:
— Улучшение. В классе корзины в метод status добавлен подсчет скидки [PR #497]
Теперь в масиве total и products при вызове сниппета msCart есть данные по размеру скидки (разнице между обычной ценой и скидочной)
— Размер общей скидки
— Улучшение. Улучшен интерфейс отображения опций товара в заказе [PR #491]

Также реализована системная настройка ms_order_product_options
Она регулирует какие именно поля выводить для редактирования в новом интерфейсе.
— Улучшение. Добавлено поле для указания суммы, после которой доставка будет бесплатной.
Теперь нет необходимости расширять класс для самой простой бесплатной доставки [PR #490]

— Улучшение. Добавлено событие msOnGetProductFields для возможности изменения любых полей продукта при его получении. Заменены два отдельных вызовов методов getPrice() и getWeight() на один вызов метода prepareFields(). [PR #417]
— Исправлена проблема с "Cannot read property items of undefined" и поправлен порядок вкладок при создании товара [PR #486]
— Исправлена ошибка PHP warning: count() [PR #482]
— Исправление baseUrl в медиа источнике если папка assets была переименована до установки miniShop2 [PR #489]
— Улучшение. Добавлен чанк msProduct.content.fenom с примером вывода информации о товаре на Fenom [PR #478]
— Улучшение. Добавлены новые параметры ignoreGroups и sortGroups для сниппета msProductOptions [PR #483]
— Улучшение. Добавлено свойство return в сниппет msProductOptions [PR #484]
— Исправлен визуальный баг (отсутствие рамки у select) [PR #480]

— Улучшение. Добавлена прозрачность к выключенным строкам сетки [PR #485

Огромное спасибо всем, кто помог с выпуском данного релиза! А именно: @Николай Савин @Павел Гвоздь @Иван Бочкарев @Евгений Webinmd @Руслан Алеев github.com/vasia123 @Yurij Finiv — без Вас ничего не получилось бы!
Обновление доступно в modstore
Update: По просьбам создан сбор на дальнейшее развитие miniShop2
— Отправить донат с карты
— Отправить донат на Яндекс.деньги
Сегодня анонсируем обновление miniShop2 версии 2.7.0.
Что же мы подготовили в данном релизе:
— Улучшение. В классе корзины в метод status добавлен подсчет скидки [PR #497]
Теперь в масиве total и products при вызове сниппета msCart есть данные по размеру скидки (разнице между обычной ценой и скидочной)
Array
(
[total] => Array
(
[count] => 18
[weight] => 0
[cost] => 5 400
[discount] => 2 700
)
[products] => Array
(
[0] => Array
(
...
[discount_price] => 150
[discount_cost] => 2 700
...
)
)
)На фронте можно выводить данную разницу: — Размер общей скидки
<div class="ms2_total_discount">{$total.discount}</div>— Улучшение. Улучшен интерфейс отображения опций товара в заказе [PR #491]

Также реализована системная настройка ms_order_product_options
Она регулирует какие именно поля выводить для редактирования в новом интерфейсе.
— Улучшение. Добавлено поле для указания суммы, после которой доставка будет бесплатной.
Теперь нет необходимости расширять класс для самой простой бесплатной доставки [PR #490]

— Улучшение. Добавлено событие msOnGetProductFields для возможности изменения любых полей продукта при его получении. Заменены два отдельных вызовов методов getPrice() и getWeight() на один вызов метода prepareFields(). [PR #417]
— Исправлена проблема с "Cannot read property items of undefined" и поправлен порядок вкладок при создании товара [PR #486]
— Исправлена ошибка PHP warning: count() [PR #482]
— Исправление baseUrl в медиа источнике если папка assets была переименована до установки miniShop2 [PR #489]
— Улучшение. Добавлен чанк msProduct.content.fenom с примером вывода информации о товаре на Fenom [PR #478]
— Улучшение. Добавлены новые параметры ignoreGroups и sortGroups для сниппета msProductOptions [PR #483]
— Улучшение. Добавлено свойство return в сниппет msProductOptions [PR #484]
— Исправлен визуальный баг (отсутствие рамки у select) [PR #480]

— Улучшение. Добавлена прозрачность к выключенным строкам сетки [PR #485

Огромное спасибо всем, кто помог с выпуском данного релиза! А именно: @Николай Савин @Павел Гвоздь @Иван Бочкарев @Евгений Webinmd @Руслан Алеев github.com/vasia123 @Yurij Finiv — без Вас ничего не получилось бы!
Обновление доступно в modstore
Update: По просьбам создан сбор на дальнейшее развитие miniShop2
— Отправить донат с карты
— Отправить донат на Яндекс.деньги
Комментарии: 112
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Было бы круто добавить в документацию новые параметры у msProductOptions (ignoreGroups + sortGroups) и msOptions (sortOptions + sortOptionValues)
У товаров вкладка тоже есть, но через modx-page-settings не выключается, но это ещё с прошлого раза — 476
+ 1000 р. (только на Яндекс:(
так держать…
Давно заметил, но не писал
При редактировании, а так же при создании опции в настройках, когда нажимаешь раскрыть на весь экран, заполняется только на определенную высоту
prnt.sc/vzsvua
после обновления, страницы, на которых работает minishop2 просто пустые открываются.
modx 2.8.1
php — 7.2
журнал ошибок в админке пустой.
вот логи с сервера:
Нужны логи, ошибки, примеры сайтов или доступ в админку для проверки.
Сегодня такая же ошибка после обновления…
не могу понят в чем проблема
Вообще я бы еще пересмотрел логику работы метода getCost в msOrderHandler.
При разработке своего класса-обработчика способа доставки иногда возникали проблемы. Мне кажется этот метод как-то сложно и не совсем логично устроен.
Мне кажется данный метод должен четко возвращать только общую стоимость заказа. Без всяких параметров $with_cart. Разве может быть стоимость заказа без стоимости корзины?
Либо, если передан true, возвращать массив данных, из которых складывается эта общая стоимость: стоимость корзины, стоимость доставки, стоимость оплаты (т.е. то что возвращает $payment->getCost).
В $delivery->getCost() должна передаваться исключительно только стоимость корзины.
В $payment->getCost() должна передаваться стоимость корзины + стоимость доставки.
Понимаю, придется все старые дополнения переписывать…
А так спасибо за поддержу minishop, с меня донат
К сожалению, цивилизованно (PR) поучаствовать не могу, поддерживаем донатом )
Спасибо, ребята!
Меня крайне радует дальнейшее развитие ms2 и позднее я постараюсь поучаствовать в процессе, где смогу.
yadi.sk/i/nmBCslJFqP95tg
Это так и планировалось?
Проверял на двух сайтах
yadi.sk/i/ozgA4Sqf0ikr2Q. Я ими вообще-то не пользовался в Категориях, но судя по скрину выше — они вообще-то есть у людей.
при попытки создать доставку.
И добавляете поле
название поля: free_delivery_amount
yadi.sk/i/xX1iX3gX-iiZqA
вывод в log
modAction support is deprecated since version 2.3.0. Support for modAction has been replaced with routing based on a namespace and action name. Please update the extra with the namespace msdiscount to the routing based system.
Илья писал только лишь про то как убрать назойливый лог modAction.
Обновил посте 2,5 до последней версии и вроде конект. по акциям
но купоны не отображаются всё ровно.
Эта ошибка в консоли в новой версии, в 2,5 все хорошо отображает.
т.е даже если не было никаких изменений, он всегда выскакивает
Проверьте пожалуйста еще редактор tinymce в категориях. На товарах работает, а на категориях нет. (может конечно и другой редактор не будет работать, но есть 3 сайта с обновленным minishop2 и у них у всех этот баг).
И есть еще одна ошибка Вроде как от pdotools но смущает class
Спасибо за ваш труд!
каталог — dl3.joxi.net/drive/2020/12/24/0018/0260/1212676/76/fa6a66f938.png
а с товаром все норм — dl3.joxi.net/drive/2020/12/24/0018/0260/1212676/76/65b2bc111c.png
попробовал переустановить Минишоп (удалили из системы и поставил) и МОДх ( как бы обновить вручную через норвый Сетап) — не помогло.
ошибки появились и их постоянно две:
(ERROR in xPDO::getService @ /public_html/core/xpdo/xpdo.class.php: 1234) modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.
(ERROR in modRestCurlClient::__construct @ /public_html/core/model/modx/rest/modrestcurlclient.class.php: 26) modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.
Исправления в файл не вносил — там уже обновленные строки
Проблема решена перезаливкой в папку ядра с заменой папок компонентс и модел из другого магазина.
Это, конечно, не дает понять, что было, но проблему с редактором и вкладками у категории решило…
вот такая ошибка: core/components/pdotools/model/pdotools/pdotools.class.php 446
Recoverable error: Object of class msProductData_mysql could not be converted to string
Но теперь после обновления Пашин msPromoCode2 применяет дважды скидку из-за плагина msDiscount. отключаю плагин всё норм.
посоветуйте что-то можно поменять?
Проблема заключалась в MySQL 8.0.22, минишоп не умеет работать с этой версией бд, реально ли исправить в будущем?
Пришлось через Docker ставить на хостинг альтернативную версию БД, на 5.6 работаю хорошо, на других версиях не проверял.
Я вот к своему стыду не знаю, где например в modx указать порт для mysql, ведь наверняка у вас не по стандартному порту работает.
$database_server = 'localhost:3311';
$database_dsn = 'mysql:host=localhost:3311;dbname=dbname;charset=utf8';
Вы точно про minishop2 пишите?
/assets/components/minishop2/js/web
Вчера устанавливал новую.
Возможно это кто-то у вас уже в файле писал.
ошибка вот Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC LIMIT 1' at line 1
)
происходит при загрузке картинок в галерею, файлы успешно загружаются, но в ms2_products названия картинок не прописываются
Проще всего сменить версию движка базы
Обидно, у меня vps свежая, успел на нее уже штук 5 сайтов поставить, и конечно же там mysql 8 свежий поставил… получается опять с vps заниматься…
Подскажите, пожалуйста, как правильно работать с событием «msOnGetProductFields»? Почему-то на странице не выводятся обработанные старая и новая цены.
Создал плагин, навесил событие «msOnGetProductFields», в логи пишет корректно, а на странице исходные цены отображаются…
Кроме этого:
Еще какие-то классы нужны, чтобы обновлялась скидка динамически? А то у меня в этой обертке, при изменении количества товара со скидкой, сумма скидки просто в ноль превращается. Также, если использовать промокод из «msPromoCode2», сумма становится нулем. После обновления страницы все высчитывается корректно.
Ошибок JS в консоли нет.