miniShop 2.9.1-pl

Всем привет!



25.08.2021 в репозитории стало доступно обновление miniShop2 до версии 2.9.0, а сегодня 12.09.2021 стало доступно обновление до версии 2.9.1.

Что же мы подготовили в данных релизах:
2.9.1

Добавлено:
— Улучшена страница оформления заказа (добавлены новые поля) [PR #581]



— Добавлены поля msVendor в списке товаров заказа [PR #612]



Исправлено:
— Исправлена ошибка при загрузке нескольких изображений (абсолютно разных с разными именами): «Такое изображение уже есть в галерее товара.»

2.9.0

Добавлено:
— Добавлена прослушка инициированного контекста для работы из API [PR #578]
— Добавлен подсчет количества позиций товара в корзине [PR #579]

(
    [total_count] => 17
    [total_cost] => 6 329
    [total_weight] => 13.7
    [total_discount] => -1506
    [total_positions] => 10
)

— Обновлен устаревший ssl сертификата для оплаты через PayPal [PR #573]
— Добавлен параметр delivery_cost дя события msOnGetOrderCost [PR #585]
— Добавлено учитывание настроек дня недели в датах фильтрации заказов [PR #570]



— Добавлена поддержка нулевой стоимости товара
— Добавлено поле имени товара для микроразметки в чанке tpl.msProducts.row

Исправлено / Изменено:
— Исправлена логика формирования css-стиля статуса заказа в истории заказа по примеру оформления списка заказов. [PR #576]
— Добавлена выборка поля color для корректного формирования css оформления лейбла статуса заказа [PR #580]
— Код приведен к стандарту PSR-12 [PR #574] [PR #577]
— Исправлена ошибка Cannot read property 'Search' of undefined
— Оптимизирован метод getCost [PR #602]
— Исправлена ошибка создания таблицы ms2_options

Огромное спасибо всем, кто помог с выпуском данного релиза! А именно: @Николай Савин @Евгений Webinmd @Иван Бочкарев @Іван Клімчук @Prihod @Руслан Алеев @mngatoff @wfoojjaec @PG @Павел Гвоздь @Yurij Finiv — без Вас ничего не получилось бы!

Обновление доступно в
По просьбам создан сбор на дальнейшее развитие miniShop2
Огромное спасибо, всем кто поддерживает и донатит!
Иван Бочкарев
12 сентября 2021, 14:57
modx.pro
2 113
+28
Поблагодарить автора Отправить деньги

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

Александр Мельник
12 сентября 2021, 15:59
+2
Спасибо, вы молодцы.
К сожалению для Украины оба варианта донатов не подходят. Яндекс у нас вообще заблокирован, а попробовал первую ссылку через Тинькофф и получил уведомление — иностранные карты не принимаются.
    Иван Бочкарев
    12 сентября 2021, 16:04
    0
    Добавил Qiwi
      Александр Мельник
      12 сентября 2021, 16:10
      0
      может это проблемы моей карточки, но не сработало
      Возможно дело в конвертации валюты с гривен в рубли, хотя я оплачиваю сам свои сервера на timeweb и там оплата с карты проходит.
        Иван Бочкарев
        12 сентября 2021, 16:30
        0
        Нужно выбирать по номеру телефона. А так ребята с Украины платят мне по ссылке без проблем.
          Александр Мельник
          12 сентября 2021, 16:40
          0
          Там есть — по никнейму или по номеру кошелька. (я просто крайне редко пользуюсь вообще какими либо платежными системами и ничего не знаю о Киви, там где я живу в ходу наличные, а наши магазины имеют на входе гардиночку и висящие с потолка липучки для мух, в некоторых же — даже считают на деревянных счетах)
          Я выбирал — по номеру кошелька и не получилось(
            Иван Бочкарев
            12 сентября 2021, 16:47
            +1
            Все равно спасибо!)
              Александр Мельник
              12 сентября 2021, 16:51
              0
              попробовал еще раз. Выбираю — по номеру кошелька, ввожу карту, меня как и положено отправляет на страницу моего банка, мне приходит смс, я ввожу с нее код, меня снова перебрасывает на страницу Киви и тут уже странности — теперь написано что оплата была по никнейму и не получилась. Странно.
              Приятно видеть что мининшоп ожил в новых руках.
    Олег Щавелев
    13 сентября 2021, 09:21
    +3
    Ребят, у кого установлен пакет msOrderFields обновление будет не корректно. Так как в нем должен быть актуальный набор полей. Ждем обновления от автора. Автору о проблеме я сообщил.
      Семён Кудрявцев
      13 сентября 2021, 11:08
      0
      У меня и без этого пакета, обновление криво встало, не добавилось поле entrance в таблицу с адресами:
      Ошибка:
      Error 42S22 executing statement: 
      Array
      (
          [0] => 42S22
          [1] => 1054
          [2] => Unknown column 'msOrderAddress.entrance' in 'field list'
      )
        Семён Кудрявцев
        13 сентября 2021, 11:10
        +1
        Отбой, повторная переустановка обновления помогла — всё работает
        Aleksandr Huz
        13 сентября 2021, 13:01
        +3
        Futuris
        14 сентября 2021, 10:12
        +3
        Отправил свои три копейки)) Спасибо за развитие проекта! Minishop2 — наше все! Может доживем до счастливого дня, когда MODX3 выйдет и система начнет нормально развиваться.
          Это сообщение было удалено
            Это сообщение было удалено
              Это сообщение было удалено
                Это сообщение было удалено
                  Это сообщение было удалено
                    Это сообщение было удалено
                      Это сообщение было удалено
                        Это сообщение было удалено
                          Это сообщение было удалено
                  Это сообщение было удалено
                    Это сообщение было удалено
                      Это сообщение было удалено
                        Это сообщение было удалено
                          Это сообщение было удалено
                            Это сообщение было удалено
              Sergey
              15 сентября 2021, 15:13
              +1
              Было бы круто если бы сделали разделение поля «Получатель» на 3 поля «ФИО» =)
                Олег Щавелев
                15 сентября 2021, 18:38
                +1
                msOrderFields — данный пакет дает возможность реализовать уже сегодня.
                  Sergey
                  15 сентября 2021, 18:47
                  0
                  Отдельно поля и сам могу сделать по этому принципу modx.pro/solutions/10040, но хотелось бы разделить это поле на 3 поля «из коробки минишопа» ))
                    Олег Щавелев
                    15 сентября 2021, 19:26
                    0
                    Статья замечательная, замечательно что это статья написана. Но после я разобрался в принципе добавления полей. Мне не нравиться принцип добавления «extended-полей».
                Junior
                19 сентября 2021, 14:17
                +1
                Бодрого дня, пытаюсь поставить 2.9.1
                Выдает ошибку
                [19-Sep-2021 13:52:57 Europe/Helsinki] PHP Fatal error:  Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, null given in 
                /core/packages/minishop2-2.9.1-pl/modCategory/34590278a23df85cc42d0e19d3228bf4.resolve.tables.resolver:82
                Stack trace:
                #0 /core/xpdo/transport/xpdovehicle.class.php(227): include()
                #1 
                core/xpdo/transport/xpdoobjectvehicle.class.php(228): xPDOVehicle->resolve()
                #2 
                core/xpdo/transport/xpdoobjectvehicle.class.php(89): xPDOObjectVehicle->_installObject()
                #3 
                core/xpdo/transport/xpdotransport.class.php(269): xPDOObjectVehicle->install()
                #4
                core/model/modx/transport/modtransportpackage.class.php(310): xPDOTransport->install()
                #5 
                core/model/modx/processors/workspace/packages/install.class.php(56): modTransportPackage->install()
                #6
                core/model/modx/modprocessor.class.php(185): modPackageInstallProcessor->process()
                #7 
                core/model/modx/modx.class.php(1770): modProcessor->run()
                #8 
                core/model/modx/modconnectorresponse.class.php(144): modX->runProcessor()
                #9
                core/model/modx/modconnectorrequest.class.php(86): modConnectorResponse->outputContent()
                #10
                core/model/modx/modconnectorrequest.class.php(73): modConnectorRequest->prepareResponse()
                #11 
                connectors/index.php(78): modConnectorRequest->handleRequest()
                #12 {main}
                  thrown in 
                core/packages/minishop2-2.9.1-pl/modCategory/34590278a23df85cc42d0e19d3228bf4.resolve.tables.resolver on line 82
                Ставил версию 2.9.0, все нормально
                Подскажите что может быть не так?
                  Евгений Webinmd
                  19 сентября 2021, 14:52
                  0
                  какая версия php?
                    Junior
                    19 сентября 2021, 14:57
                    0
                    Версия 8.0
                      Евгений Webinmd
                      19 сентября 2021, 14:58
                      +1
                      попробуйте понизить до 7,4
                        Junior
                        19 сентября 2021, 15:02
                        0
                        таки да!
                        Версия 7.4 стало корректно…
                        Странно но факт.

                        Благодарочка!
                          Николай Савин
                          20 сентября 2021, 16:53
                          +3
                          Вам благодарочка. Нюанс нашли и создали issue. В будущих обновлениях минишопа пофиксим.
                            Фарит
                            Фарит
                            25 сентября 2021, 22:40
                            0
                            Сделайте, пожалуйста, возможность загрузки старых версий минишопа.
                              Андрей
                              25 сентября 2021, 23:05
                              +3
                              Старые версии можно скачать тут — https://github.com/Ibochkarev/miniShop2/releases, под релизом нажать на Assets, и там в выпадающем меню будет архив с транспортным пакетом, например minishop2-2.6.0-pl.transport.zip.
                                Фарит
                                Фарит
                                01 октября 2021, 00:07
                                0
                                Больше всего интересует версия 2.4
                                  Андрей
                                  01 октября 2021, 08:57
                                  +1
                                  Тогда здесь — https://modx.com/extras/package/minishop2 внизу нажать View deprecated releases — https://ibb.co/N7FLp56 и там есть несколько релизов ветки 2.4 https://ibb.co/4YjhHP5.

                                  Даже интересно, для каких целей нужна старая версия? :)
                                    Фарит
                                    Фарит
                                    02 октября 2021, 10:49
                                    0
                                    Чтобы когда удаляешь фото из галереи, не удалялся сам товар и т. д.
                                    Андрей
                                    02 октября 2021, 18:03
                                    0
                                    А можешь немного подробней описать такую ситуацию? При удалении фото естественно товар не должен удаляться.

                                    Да и в целом последние версии стабильно работаю, не думаю что стоит откатываться так далеко назад.
                                    Николай Савин
                                    03 октября 2021, 07:19
                                    +2
                                    Такого в minishop2 нет. У файлов ms2 подчиненная связь. Она не может вызвать удаление родительского товара.
                                    Eсли у вас происходит нечто подобное — значит либо вы что-то не так поняли, либо может быть какой то плагин отдельный срабатывает.
                                    В любом случае понижение версии проблему не решит — просто потому что такой проблемы нет.
                Максим
                22 сентября 2021, 13:30
                1
                +2
                Недавно ковырялся в скриптах минишопа, заметил, что нет callback-функции для miniShop2.Cart.status(). А ведь могло бы пригодиться (например, с той же мини-корзиной какие-то действия производить, добавлять классы или что-то еще).
                И вообще, в чем преимущества этих callback? Почему бы не сделать через события? Например, написать (можно на чистом JS):
                $(document).trigger('beforeAddToCart', options)
                А там кому надо, тот напишет
                $(document).on('beforeAddToCart', function(event, options){});
                Как минимум короче код и привычнее.
                Александр Туниеков
                24 сентября 2021, 20:02
                0
                Владелец обновил минишоп. Сломался заказ. При создании заказа ни данных получателя ни адреса. Только товары. Фиг знает куда рыть.
                  Николай Савин
                  24 сентября 2021, 21:17
                  0
                  Ройте в сторону журнала ошибок MODX и журнала серверных ошибок для начала
                    Александр Туниеков
                    24 сентября 2021, 21:20
                    0
                    Хм. ошибки не смотрел тогда. А сейчас минишоп уже откатили до прежней версии :)
                  Константин Ильин
                  11 октября 2021, 13:22
                  0
                  Не подскажете в чем проблема, в image вместо пути к картинке стоит какой-то id(видимо файла)
                  prnt.sc/1vp26tp

                  Вывожу через msProducts
                  В этой же категории есть пару товаров и у них нормально прописан путь
                    Николай Савин
                    11 октября 2021, 14:47
                    0
                    Возможно удалили запись о файле в таблице файлов, а вот в таблице свойств товара ссылка на файл по id осталась
                      Константин Ильин
                      11 октября 2021, 15:30
                      0
                      Странное поведение, внутрь товара проваливаешься т.е. на самой странице все норм
                    Евгений Лазарев
                    16 октября 2021, 16:31
                    0
                    Уважаемые разработчики замените пожалуйста в новой версии в mspaymenthandler.class.php в метод getCost строку
                    $add_price = $payment->get('price');
                    на
                    $add_price = $payment->get('price') ?: 0;
                    Сейчас сам столкнулся с тем что менеджеры удаляют параметр доп цены и в лог валится ошибка неверного формата — пустая строка.
                      Николай Савин
                      16 октября 2021, 20:29
                      0
                      Это не корректное предложение, 0 должен возвращаться в любом случае через get
                        Евгений Лазарев
                        16 октября 2021, 20:40
                        0
                        Попробуйте, если не верите. Просто в настройках оплаты сотрите в параметре доп цены все символы. Дело в том что ниже по коду идет
                        $cost += $add_price
                        . А поскольку $add_price = "", то в лог пишется ошибка, что не корректная операция происходит. Заказ создается без сбоев нормально, но в лог +2 ошибки, поскольку во время создания заказа getCost() вызывается 2 раза.
                          Николай Савин
                          16 октября 2021, 20:46
                          0
                          Вы не поняли. Ваше предложение некорректно не потому что не возвращается 0, а потому что этот самый 0 должен формироваться в другом месте. Его должен возвращать метод get объекта msPayment.
                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                      56