Релиз miniShop2 ver. 2.8.0

Всем привет!

27/01/2021 в репозитории стало доступно обновление miniShop2 до версии 2.8.0.

Что же мы подготовили в данном релизе:
  • Добавлена дополнительная проверка в резолвере таблиц на наличие в карте объекта msDelivery добавленного поля free_delivery_price [PR #520]
  • Переопределена логика работы опции-чекбокса в админ панели. Передача значения 1|0 при выбранном или снятом чекбокс (Ранее: состояние чекбокса не отражало значение в БД) [PR #513]
  • Незначительные улучшения английского языка [PR #511] [PR #512]
  • Исправлено отображении категории, если категории не являются контейнером [PR #509]
  • Исправлена ошибка PHP warning: count(): Parameter must be an array or an object that implements Countable [PR #508]
  • Разделена сумму заказа на корзину и доставк (В заказе кроме общей суммы заказа добавлены стоимость корзины отдельно и стоимость доставки) [PR #507]
  • Удален консольный скрипт конвертации из ms1 в ms2 [PR #506]
  • Исправлена ошибка при импорте картинки с русским названием через процессор 'gallery/upload' [PR #504]
  • Код приведен к кроссбраузерному стандарту ECMAScript 5.1 [PR #503]
  • Исправлено отображение вкладок настроек и групп ресурсов при редактировании Категории [PR #501]
  • Исправлена логика расчета стоимости бесплатной доставки
    Было:
    Сравнение бесплатной доставки с входящим параметром $cost который иногда равен нулю и не отражает реальной стоимости корзины
    Стало:
    В метод getCost класса msDeliveryHandler добавлена постоянная стоимость корзины ms2->cart->status(), и сравнение бесплатной суммы доставки сделано с суммой корзины, которая всегда постоянна и не равна нулю. [PR #498]
Огромное спасибо всем, кто помог с выпуском данного релиза! А именно: @Николай Савин @DocentBF @Иван Бочкарев github.com/Jsewill @Руслан Алеев github.com/vasia123 @Aleksandr Huz @mngatoff — без Вас ничего не получилось бы!

Обновление доступно в

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

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

Александр Мельник
28 января 2021, 10:42
+3
спасибо, просто молодцы.
    Sergey
    28 января 2021, 10:45
    +1
    Круто! Спасибо!
      Andrey
      28 января 2021, 11:00
      +1
      Спасибо, ребята!
        Andrew
        28 января 2021, 11:52
        +1
        Спасибо за ваши труды парни!)
          Alexey
          28 января 2021, 12:13
          0
          Спасибо, как всегда — круто!

          Подскажите, а момент с оформлением заказа на другого юзера по номеру телефона планируется пофиксить в будущем?

          github.com/Ibochkarev/miniShop2/issues/440
          pobnpolk
          30 января 2021, 16:20
          0
          Иван, добрый день. Спасибо за релиз.
          Подскажите пожалуйста, после обновления все уведомления стали на английском?
            Иван Бочкарев
            30 января 2021, 16:23
            0
            Это вопрос? О каких уведомлениях идёт речь?
              pobnpolk
              30 января 2021, 16:33
              0
              Всплывающие сообщения — при добавлении товара в корзину, или удалении. Message.success
                Иван Бочкарев
                30 января 2021, 16:47
                0
                пока не было обращений по данному вопросу. Обновлено или установлено более 80 магазинов.
                  pobnpolk
                  30 января 2021, 17:09
                  0
                  Ну а всё-таки, где меняется язык?
                    Николай Савин
                    31 января 2021, 11:39
                    0
                    Язык зависит от системы MODX вообще. Нигде в miniShop нет своей языковой логики. Соответственно обновление компонента не может само по себе привести к смене языка системы.
                  pobnpolk
                  30 января 2021, 16:51
                  0
                  Иван, где можно хорошо научиться, из какого источника, писать свои обработчики, плагины, и компоненты под ваш продукт. Доделывать уже существующие. Всё вроде здорово, сообщество умное, но когда начинаешь делать или спрашивать всем как обычно нет особого времени объяснять, все у все индивидуально, кто-то старается ради авторитета, кто-то ради продаж. Поэтому приходится всегда искать решения индивидуально и очень долго, а это невыгодно.
              Андрей Шевяков
              31 января 2021, 15:31
              0
              Добрый день!
              А PR #462 — Добавление возможности изменять опции товара в корзине, планируется включить в следующих версиях? Я, если правильно понял, там проблема с тестированием?
                Евгений Webinmd
                31 января 2021, 17:24
                0
                да, не очень понятно как протестировать и в каком виде должно работать
                  Андрей Шевяков
                  31 января 2021, 18:38
                  +1
                  Тест. Сделал по аналогии с изменением количества товара.
                  Код:
                  <form method="post" class="ms2_form">
                      <input type="hidden" name="key" value="{$product.key}">
                      <input type="hidden" name="count" value="{$product.count}">
                      <input type="text" name="options[size]" value="{$product.options.size}">
                      <button type="submit" name="ms2_action" value="cart/change">Изменить размер</button>
                  </form>
                  Вместо select для теста просто в input вывел размер. Вводим размер вручную, нажимаем на кнопку Изменить размер и все работает как надо. Размер товара обновляет. Единственное выводит сообщение как для изменения количества: «Количество товаров в корзине успешно изменено...»

                  Соответственно все работает. Надо только предусмотреть вывод другого сообщения из лексиконов.
                  И сделать вывод в select размеров (опций) и js отправку данных, при выборе размера (опции). Да или хотя бы с кнопкой оставить. Дальше на фронте уже, все равно все под себя изменять будут.
                    Евгений Webinmd
                    31 января 2021, 18:41
                    +1
                    Спасибо, протестируем, главное чтобы внутри все работало и не ломало ничего, внешний вид у каждого будет свой. Если все нормально и код приемлемый, то в следующем релизе скорей всего будет
                  Николай Савин
                  31 января 2021, 18:33
                  +1
                  Постараюсь оттестировать на этой неделе. @Иван Бочкарев добавь меня в PR чтобы не забыл
                  Но справедливости ради автор так и не ответил на просьбу описать пошагово как протестировать
                    Дмитрий Танцирев
                    13 февраля 2021, 08:33
                    +3
                    Привет!) Исправляюсь)
                    Я уж если честно, забыл совсем про этот коммит.
                    Мне уведомления приходят, что тут какая-то движуха происходит, но всё как-то времени не было посмотреть нормально.

                    @Андрей Шевяков протестировал верно. На сколько я вижу, тестировал он именно в корзине. Если тест производился в карточке товара — то не ок.
                    Не ок в том плане — что мой коммит работает тогда не верно =)

                    Логика:
                    1. Кладём товар в корзину с любой опцией (с выбранным размером, цветом, фасоном, хоть с чем).
                    2. Теперь идём в корзину (именно в корзину) и по аналогии с кол-вом товара, мы можем менять и опции товара.

                    Если мы зашли в карточку товара, положили этот товар с опцией в корзину, остались в карточке этого товара и снова добавили этот же товар в корзину но с другой опцией — то в корзину должен упасть «новый» товар. Т.е. этот же товар, но с другой опцией.
                    Если же вместо этого поменялась опция — то мой коммит работает НЕ верно.
                    Ибо в этом случае не возможно будет заказать несколько позиций одного и того же товара, но с разными опциями (с разным размером, цветом и т.п.).
                    Тобишь коммит должен работать только в корзине.

                    Тест:
                    1. Положили товар в корзину с опцией.
                    2. Положили этот же товар еще раз в корзину но с другой опцией — если добавился новый товар — то всё ок.
                    Если же у товара в корзине обновилась опция — то можно прекращать тест — мой код работает не верно.
                    3. Идём в корзину. В &tpl сниппета msCart, как и писал @Андрей Шевяков по аналогии с кол-вом товара добавляем:

                    <form method="post" class="ms2_form">
                            <input type="hidden" name="key" value="{$product.key}">
                            <input type="hidden" name="count" value="1">
                            <input type="text" name="options[size]" value="{$product.options.size}">
                            <button type="submit" name="ms2_action" value="cart/change">Изменить размер</button>
                        </form>
                    Ну и собственно пытаемся изменить размер.

                    По поводу лексикона:
                    — просто добавить новый лексикон и надеется что всё заработает — не получится =)
                    — коммит изменяет стандартную функцию $miniShop2->cart->change(). А она в свою очередь предназначалась только для изменения кол-ва товара.
                    Соответственно нужно дописывать код и смотреть что именно изменяется.
                    Если изменилось кол-во — то выводить одно уведомление.
                    Если изменилась опция — то выводить другое уведомление.
                    Если изменилось и то и другое — то ваш сайт удалится =) шучу =)
                  Klike
                  13 февраля 2021, 15:29
                  0
                  Может я что-то делаю не так, но на стандартных чанках tpl.msCart и tpl.msOrder перестало считать общую сумму корзины и заказа, стоимость при этом меняется.



                    Евгений Лазарев
                    Вчера в 17:18
                    0
                    Уважаемые разработчики, хотел бы попросить. Можно ли в следующем релизе изменить формат телефона в msorderhandler.class.php? Каждый раз приходится строчку менять на
                    substr(preg_replace('/[^-+()0-9]/iu', '', $value), 0, 16);
                    Нужен многим формат +7(999)999-99-99, то есть и "+" нужен и скобки, а в общей сумме получается 16 символов. Буду очень признателен.
                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                      22