Релиз miniShop2 ver. 2.7.0

Всем привет!

Сегодня анонсируем обновление 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
Отправить донат с карты
Отправить донат на Яндекс.деньги
Иван Бочкарев
09 декабря 2020, 20:06
modx.pro
1
1 521
+37
Поблагодарить автора Отправить деньги

Комментарии: 97

Руслан Алеев
09 декабря 2020, 20:09
+2
Мощь!
    Sergey
    09 декабря 2020, 20:16
    +2
    Очень круто! Спасибо ребят!
      Alexey
      09 декабря 2020, 21:01
      +6
      Ох, здорово! Насчет бесплатной доставки прямо в точку, спасибо огромное!
        Андрей Шевяков
        09 декабря 2020, 21:53
        +4
        Огонь!!!
          igos
          09 декабря 2020, 22:17
          +1
          Спасибо за обновление!

          Было бы круто добавить в документацию новые параметры у msProductOptions (ignoreGroups + sortGroups) и msOptions (sortOptions + sortOptionValues)
          Eugene Generalov
          09 декабря 2020, 22:32
          +5
          Вот прям за опции в заказе, отдельное спасибо!
            Антон Тарасов
            10 декабря 2020, 00:58
            +2
            Спасибище большое, за багфиксы, новации и за движение!
              Александр Мельник
              10 декабря 2020, 09:49
              +2
              Очень приятно читать такое.
                Andrey
                10 декабря 2020, 10:37
                +3
                Ребята, вы лучшие! С меня — регулярные донаты
                  vrm13
                  10 декабря 2020, 12:06
                  +1
                  Теперь у категорий товаров пропала вкладка настройки и отключился html редактор там где он был. В редакторе форм modx-page-settings включён, у обычных ресурсов вкладка настройки есть.

                  У товаров вкладка тоже есть, но через modx-page-settings не выключается, но это ещё с прошлого раза — 476
                    Иван Бочкарев
                    10 декабря 2020, 12:13
                    +1
                    Поправим в ближайшее время или дадим временное решение до релиза
                      Иван Бочкарев
                      12 декабря 2020, 10:26
                      +1
                      Если компонент обновили, можете внести данные изменения в файле (или просто заменить файл) Исправление. Обновленная версия в сторе
                        vrm13
                        12 декабря 2020, 11:59
                        0
                        Спасибо большое!
                      Юрий
                      10 декабря 2020, 12:37
                      +3
                      Круто
                      + 1000 р. (только на Яндекс:(
                      так держать…
                      Константин Ильин
                      10 декабря 2020, 16:53
                      +3
                      Уххх, круто! Видно, что минишоп пошел на развитие!
                      Давно заметил, но не писал

                      При редактировании, а так же при создании опции в настройках, когда нажимаешь раскрыть на весь экран, заполняется только на определенную высоту
                      prnt.sc/vzsvua
                        Кирилл
                        11 декабря 2020, 02:44
                        +4
                        спасибо всем, кто делает его с каждой версией всё лучше и лучше!
                          Vladimir Glukhov
                          11 декабря 2020, 10:29
                          0
                          у меня два сайта уже сломались (( хотя 2.6 на всех стал сразу нормально. сегодня буду еще на остальных обновлять и пробовать разобраться в чем причина
                            Иван Бочкарев
                            11 декабря 2020, 10:49
                            0
                            Пишите об ошибках, чтобы можно было помочь
                              Vladimir Glukhov
                              13 декабря 2020, 11:20
                              0
                              первый сайт — emkostplast.com.ua/
                              после обновления, страницы, на которых работает minishop2 просто пустые открываются.
                              modx 2.8.1
                              php — 7.2
                              журнал ошибок в админке пустой.
                              вот логи с сервера:

                                Иван Бочкарев
                                13 декабря 2020, 15:48
                                0
                                Разобрались в чем проблема?
                                  Vladimir Glukhov
                                  14 декабря 2020, 11:38
                                  0
                                  (( неа
                                    Vladimir Glukhov
                                    14 декабря 2020, 12:59
                                    0
                                    из 7 сайтов, заработало только на 1
                                      Иван Бочкарев
                                      14 декабря 2020, 13:03
                                      0
                                      Очень странно, кроме вас никто не обращался с такими проблемами. На данный момент обновили или установили с нули 132 магазина.

                                      Нужны логи, ошибки, примеры сайтов или доступ в админку для проверки.
                                        Vladimir Glukhov
                                        14 декабря 2020, 13:06
                                        0
                                        да, я не понимаю в чем дело, всегда все допы вставали норм. все сайты на www.ukraine.com.ua/ разные аккаунты клиентов, сейчас пытаюсь сравнить аккаунт в котором он встал с другими. ошибки только то что вверху прикрепил
                                          Иван Бочкарев
                                          14 декабря 2020, 13:08
                                          0
                                          Я обновил на этом же хостинге пару проектов с минишопом. Все работает.
                                            Vladimir Glukhov
                                            14 декабря 2020, 15:13
                                            0
                                            уже сравнил все… не понимаю в чем причина. на 7 аккаунтах, разные магазины, это конечно странно и только на одном работает.
                                  Юрий
                                  15 января 2021, 15:25
                                  0
                                  Есть решения?
                                  Сегодня такая же ошибка после обновления…
                                  не могу понят в чем проблема
                              Максим
                              11 декабря 2020, 10:53
                              +2
                              Круто! Спасибо! Особенно за это:
                              — Улучшение. Добавлено поле для указания суммы, после которой доставка будет бесплатной.
                              Теперь нет необходимости расширять класс для самой простой бесплатной доставки [PR #490]
                              Вообще я бы еще пересмотрел логику работы метода getCost в msOrderHandler.
                              При разработке своего класса-обработчика способа доставки иногда возникали проблемы. Мне кажется этот метод как-то сложно и не совсем логично устроен.

                              Мне кажется данный метод должен четко возвращать только общую стоимость заказа. Без всяких параметров $with_cart. Разве может быть стоимость заказа без стоимости корзины?
                              Либо, если передан true, возвращать массив данных, из которых складывается эта общая стоимость: стоимость корзины, стоимость доставки, стоимость оплаты (т.е. то что возвращает $payment->getCost).

                              В $delivery->getCost() должна передаваться исключительно только стоимость корзины.

                              В $payment->getCost() должна передаваться стоимость корзины + стоимость доставки.

                              Понимаю, придется все старые дополнения переписывать…
                                Павел Гвоздь
                                12 декабря 2020, 16:58
                                +1
                                Эти параметры необходимы были для внутренней «кухни» компонента, в частности они используются в методе msOrderHandler::submit. Может и можно было разработать иначе, но разработано было так. Поэтому, вряд ли кто-то будет ломать совместимость на всех сайтах и компонентах, которые указывают эти параметры и ждут возвращения определённых данных.
                                alexandr.skyrda
                                12 декабря 2020, 20:34
                                +2
                                Было бы круто в вызове снипета msOrder сделать вывод отдельно суммы заказа, которая в корзине, отдельно сумму доставки ну и общую, а то сейчас только общая цена (сума корзины + доставка), если я не ошибаюсь. Часто просят отдельно выводить.
                                А так спасибо за поддержу minishop, с меня донат
                                  Алексей Шумаев
                                  13 декабря 2020, 22:41
                                  1
                                  0
                                  Поддержу: в msOrderHandler->getCost можно расширить массив данными корзина/сумма/доставка для случая $only_cost=false. Расширение массива в response не повлияет ни на что, зато js-callback на Order.getCost позволит удобнее и проще организовать фронт. Это удобно и лично я всегда переопределяю этот метод (плюсом мои методы доставки возвращают кучу данных для фронта, получается примерно так: http://prntscr.com/w1w38w).
                                  К сожалению, цивилизованно (PR) поучаствовать не могу, поддерживаем донатом )
                                  Спасибо, ребята!
                                    Иван Бочкарев
                                    14 декабря 2020, 10:58
                                    0
                                    Могу помочь с оформлением PR. Пиши в ЛС
                                      Алексей Шумаев
                                      14 декабря 2020, 11:19
                                      0
                                      Спасибо, Иван. Пока тупо нет времени (
                                      Меня крайне радует дальнейшее развитие ms2 и позднее я постараюсь поучаствовать в процессе, где смогу.
                                  perfkirill
                                  15 декабря 2020, 10:01
                                  0
                                  Ребят, а то, что у меня пропало вот это
                                  yadi.sk/i/nmBCslJFqP95tg

                                  Это так и планировалось?

                                  Проверял на двух сайтах
                                  Илья
                                  15 декабря 2020, 13:37
                                  0
                                  У меня после обновления пропали способы доставки. При создании способа выдает ошибку object_err_save, что делать?
                                    Иван Бочкарев
                                    15 декабря 2020, 13:48
                                    0
                                    Какие то ошибки еще есть? В консоли браузера или журнале ошибок?
                                      Илья
                                      15 декабря 2020, 13:50
                                      0
                                      Вроде нет, с телефона а сижу, через пару часов посмотрю с компьютера
                                        Иван Бочкарев
                                        15 декабря 2020, 13:52
                                        0
                                        Нужно точно. Так как с описанием выше, очень сложно что-то понять, что пошло не так.
                                          Илья
                                          15 декабря 2020, 13:56
                                          0
                                          ibb.co/3Bjmr2G
                                          при попытки создать доставку.
                                            Иван Бочкарев
                                            15 декабря 2020, 14:06
                                            0
                                            Для быстрого решения нужно через phpmyadmin добавить поле
                                            free_delivery_amount
                                            со следующими параметрами
                                              Илья
                                              15 декабря 2020, 14:07
                                              0
                                              Ок, попробую
                                                Иван Бочкарев
                                                15 декабря 2020, 14:10
                                                0
                                                Переходите в таблицу
                                                modx_ms2_deliveries
                                                Кликаете кнопку как на скрине:


                                                И добавляете поле
                                                free_delivery_amount
                                                .
                                                  Илья
                                                  15 декабря 2020, 16:06
                                                  0
                                                  Большое спасибо все заработало. Ваш совет помог.
                                      Евгений Webinmd
                                      15 декабря 2020, 13:56
                                      0
                                      переустановите еще раз минишоп, там скорей всего не создалось поле в базе одно
                                        Илья
                                        15 декабря 2020, 13:57
                                        0
                                        10 мин назад переустанавливал
                                          Евгений Webinmd
                                          15 декабря 2020, 14:05
                                          0
                                          можно вручную создать поле в таблице ms2_deliveries
                                          название поля: free_delivery_amount
                                          yadi.sk/i/xX1iX3gX-iiZqA
                                            Илья
                                            15 декабря 2020, 16:07
                                            0
                                            Да, спасибо так и сделал все заработало
                                      Илья
                                      15 декабря 2020, 13:40
                                      0
                                      Как откатить на версию 2.5.0?
                                        Евгений Webinmd
                                        15 декабря 2020, 14:06
                                        0
                                        сделайте деинсталяцию пакета, там будет с сохранением старой версии (ну и бэкап сделайте перед этим)
                                        pobnpolk
                                        16 декабря 2020, 20:25
                                        0
                                        В сторе modx.com старая версия 2.6.0-pl
                                          Иван Бочкарев
                                          16 декабря 2020, 20:30
                                          0
                                          Была долгая модерация пакета. Новую версию отправил в стор.
                                          pobnpolk
                                          16 декабря 2020, 20:28
                                          0
                                          компонент msDiscount с новой версией перестал отображать вновь созданные акции. Подскажите пожалуйста как исправить?
                                          вывод в 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.
                                            Иван Бочкарев
                                            16 декабря 2020, 20:31
                                            0
                                            @Илья Уткин посмотришь?
                                              pobnpolk
                                              16 декабря 2020, 20:47
                                              0
                                              попробовал сейчас на 2.5.0-pl все отлично создается,
                                              Илья писал только лишь про то как убрать назойливый лог modAction.
                                              Обновил посте 2,5 до последней версии и вроде конект. по акциям
                                              но купоны не отображаются всё ровно.
                                                Иван Бочкарев
                                                16 декабря 2020, 20:53
                                                0
                                                Кстати посмотрите в консоль браузера еще, что там за ошибки в данном компоненте
                                                  pobnpolk
                                                  16 декабря 2020, 21:04
                                                  0
                                                  ms2.utils.js:9 
                                                  
                                                  ms2.utils.js:9 Uncaught TypeError: date.strftime is not a function
                                                      at constructor.miniShop2.utils.formatDate [as renderer] (ms2.utils.js:9)
                                                      at constructor.doRender (ext-all.js:21)
                                                      at constructor.renderRows (ext-all.js:21)
                                                      at constructor.renderBody (ext-all.js:21)
                                                      at constructor.refresh (ext-all.js:21)
                                                      at constructor.onDataChange (ext-all.js:21)
                                                      at h.Event.fire (ext-all.js:21)
                                                      at constructor.fireEvent (ext-all.js:21)
                                                      at constructor.loadRecords (ext-all.js:21)
                                                      at Ext.data.HttpProxy.onRead (ext-all.js:21)
                                                    Иван Бочкарев
                                                    16 декабря 2020, 21:06
                                                    0
                                                      pobnpolk
                                                      16 декабря 2020, 21:07
                                                      0
                                                      «методом перебора» могу сказать точно что не работает на новой версии, ни акции, ни купоны. не отображаются, в базе табличка заполняется.
                                                      Эта ошибка в консоли в новой версии, в 2,5 все хорошо отображает.
                                                        Иван Бочкарев
                                                        16 декабря 2020, 21:08
                                                        0
                                                        Мы это изменение влили в версию 2.6.0
                                                          pobnpolk
                                                          16 декабря 2020, 21:09
                                                          0
                                                          что сделать можно? запутался
                                                            Иван Бочкарев
                                                            16 декабря 2020, 21:11
                                                            0
                                                            Подождать Илью. Нужно внести изменение в компонент
                                                              pobnpolk
                                                              16 декабря 2020, 21:12
                                                              0
                                                              Спасибо.
                                                  Илья Уткин
                                                  17 декабря 2020, 09:42
                                                  0
                                                  Да, гляну в ближайшее время
                                                    pobnpolk
                                                    26 декабря 2020, 04:56
                                                    0
                                                    Илья, Посоветуй что сделать можно? Акции нужны.
                                              Misha Bulic
                                              18 декабря 2020, 15:42
                                              +1
                                              Поправьте пожалуйста кнопку вверх в админке, когда товар редактируешь. Даже сразу после сохранения товара он предупреждает что данные будут потеряны. Очень неудобно
                                                Иван Бочкарев
                                                18 декабря 2020, 16:00
                                                0
                                                Можно скрин плиз.
                                                  Misha Bulic
                                                  18 декабря 2020, 16:03
                                                  0


                                                  т.е даже если не было никаких изменений, он всегда выскакивает
                                                  Антон Тарасов
                                                  18 декабря 2020, 18:11
                                                  0
                                                  Есть такое, подтверждаю!
                                                  Сергей
                                                  23 декабря 2020, 10:34
                                                  0
                                                  Добрый день!
                                                  Проверьте пожалуйста еще редактор tinymce в категориях. На товарах работает, а на категориях нет. (может конечно и другой редактор не будет работать, но есть 3 сайта с обновленным minishop2 и у них у всех этот баг).
                                                  И есть еще одна ошибка
                                                  pdotools/pdotools.class.php : 446) Recoverable error: Object of class msProductData_mysql could not be converted to string
                                                  Вроде как от pdotools но смущает class
                                                  Спасибо за ваш труд!
                                                    Руслан Алеев
                                                    24 декабря 2020, 21:42
                                                    0
                                                    Здравствуйте, был такой баг на релизе miniShop2 2.7.0, потом поправили и архивы перезалили, попробуйте удалить miniShop2 полностью (чтоб MODX не видел в админке miniShop2), и установите заново из репозитория.
                                                      Сергей
                                                      25 декабря 2020, 12:17
                                                      0
                                                      Это не лучшее решение, так-как там действующий магазин и много заказов( И потом вновь все настройки придется заводить. Может есть какое-то другое решение?
                                                  yuri
                                                  27 декабря 2020, 18:04
                                                  0
                                                  пропали вкладкии редактор у Каталога

                                                  каталог — 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.

                                                  Исправления в файл не вносил — там уже обновленные строки
                                                    Иван Бочкарев
                                                    27 декабря 2020, 19:15
                                                    0
                                                    (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.
                                                    Ошибки не относятся к miniShop2
                                                      yuri
                                                      27 декабря 2020, 20:17
                                                      0
                                                      да, разобрася. ошибки идти перестали. Но вкладки не появились
                                                      yuri
                                                      27 декабря 2020, 20:25
                                                      0
                                                      Не нашел, как удалить этот коммент.
                                                      Проблема решена перезаливкой в папку ядра с заменой папок компонентс и модел из другого магазина.

                                                      Это, конечно, не дает понять, что было, но проблему с редактором и вкладками у категории решило…
                                                      god2016
                                                      02 января 2021, 14:43
                                                      0
                                                      модх 2.8.1 — >обновил minishop2 2.5.0 до 2.6.0 все ок, обновил до 2.7.0
                                                      вот такая ошибка: core/components/pdotools/model/pdotools/pdotools.class.php 446
                                                      Recoverable error: Object of class msProductData_mysql could not be converted to string
                                                        pobnpolk
                                                        09 января 2021, 17:41
                                                        0
                                                        Илья Добрый день. Спасибо за обновление компонента msDiscount, отображается всё корректно.
                                                        Но теперь после обновления Пашин msPromoCode2 применяет дважды скидку из-за плагина msDiscount. отключаю плагин всё норм.
                                                        посоветуйте что-то можно поменять?
                                                          Николай Савин
                                                          09 января 2021, 20:36
                                                          0
                                                          Вы постом малёха ошиблись. Здесь про minishop2 статья. Да и автор не Илья.
                                                          Андрей
                                                          15 января 2021, 23:21
                                                          0
                                                          Всем привет! После обновления вроде бы все хорошо, прошел месяц и решил добавить новую категорию с товарами и тут я обнаружил что при загрузке в галерею изображений сами изображения не попадают в привью в админке и на странице каталога, откатиться назад будет очень больно так как многое было сделано по оптимизации шаблона и контента. Помогите пожалуйста как можно решить проблему

                                                            Иван Бочкарев
                                                            16 января 2021, 13:10
                                                            0
                                                              Андрей
                                                              Вчера в 12:21
                                                              0
                                                              РЕШЕНО!
                                                              Проблема заключалась в MySQL 8.0.22, минишоп не умеет работать с этой версией бд, реально ли исправить в будущем?
                                                              Пришлось через Docker ставить на хостинг альтернативную версию БД, на 5.6 работаю хорошо, на других версиях не проверял.
                                                                Александр Мельник
                                                                Вчера в 14:12
                                                                0
                                                                Андрей а поделитесь, как настраивали работу с mysql через docker? Может какие-то нюансы особенности?
                                                                Я вот к своему стыду не знаю, где например в modx указать порт для mysql, ведь наверняка у вас не по стандартному порту работает.
                                                                  Андрей
                                                                  Вчера в 14:16
                                                                  0
                                                                  В конфиге
                                                                  $database_server = 'localhost:3311';
                                                                  $database_dsn = 'mysql:host=localhost:3311;dbname=dbname;charset=utf8';
                                                                    Александр Мельник
                                                                    Вчера в 14:21
                                                                    0
                                                                    спасибо. а как решаете вопрос сохранности данных в случае перезапуска или удаления контейнера?
                                                                      Андрей
                                                                      Вчера в 15:04
                                                                      0
                                                                      Вообще опасно через докер, решил временно воспользоваться этим вариантом пока развертываю локально другую версию бд
                                                              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                              97