[miniShop2 4.0.0-beta] для MODX2
Представляю вашему вниманию Beta релиз любимого интернет-магазина miniShop2 4.0.0
Внимание. Установка компонента на действующий проект настоятельно не рекомендуется. Вы можете сломать проект.
Совсем недавно я рассказывал о планах на новую версию компонента. Спустя неделю готов сказать, что большинство планов уже реализовано, протестировано и внедрено в компонент.
В репозиториях modstore.pro и modx.com компонент пока не обновляли. Несмотря на все тесты — компонент пока не считается стабильным, о чем говорит постфикс Beta. Но уже можно тестировать компонент на копиях ваших проектов.
Приглашаю разработчиков компонентов, и опытных разработчиков сайтов всесторонне протестировать версию 4.0.0-beta. Нам нужна обратная связь для того, чтобы выпустить стабильную версию.
Там доступны ВСЕ версии miniShop за последний год. В том числе можете скачать готовый транспортный архив версии 4.0.0-beta
Ну и конечно, вы можете собрать компонент из исходников. Все свежие наработки в master ветке здесь
С новым релизом у нас появилось два новых контрибьютера, каждый из которых реализовал два важных, долгожданных обновления.
@Артур Шевченко — реализовал новый набор JS файлов.
@Евгений Шеронов — реализовал создание нового заказа из админки
С почином вас Парни! Добро пожаловать в команду!
@Евгений Webinmd наш главный и самый опытный тестировщик. Не один релиз не проходит без его внимания и одобрения. Спасибо, что так часто бьешь по рукам. Без тебя было бы больше ошибок!
@Баха Волков наш JS ГУРУ-надзиратель. Без Бахи код и логика были бы существенно хуже.
@Иван Бочкарев — куда же без тебя. Именно Ваня нас всех собрал и не дает расслабиться
@Василий Наумкин — Вась ты по-прежнему нам всем Отец родной. Спасибо за то, что ты все это придумал.
Развитие MiniShop происходит исключительно благодаря Вам друзья!
Финансовая поддержка с вашей стороны, позволяет выделять больше времени на развитие сообщества и обновлять наши проекты, которые в свою очередь приносят пользу и вам.
Поддержать нас можно, используя следующие каналы для доната:
Огромное спасибо, всем кто поддерживает!
Внимание. Установка компонента на действующий проект настоятельно не рекомендуется. Вы можете сломать проект.
Совсем недавно я рассказывал о планах на новую версию компонента. Спустя неделю готов сказать, что большинство планов уже реализовано, протестировано и внедрено в компонент.
В репозиториях modstore.pro и modx.com компонент пока не обновляли. Несмотря на все тесты — компонент пока не считается стабильным, о чем говорит постфикс Beta. Но уже можно тестировать компонент на копиях ваших проектов.
Приглашаю разработчиков компонентов, и опытных разработчиков сайтов всесторонне протестировать версию 4.0.0-beta. Нам нужна обратная связь для того, чтобы выпустить стабильную версию.
Где взять?
На странице компонента в github есть раздел релизы github.com/modx-pro/miniShop2/releasesТам доступны ВСЕ версии miniShop за последний год. В том числе можете скачать готовый транспортный архив версии 4.0.0-beta
Ну и конечно, вы можете собрать компонент из исходников. Все свежие наработки в master ветке здесь
Что тестировать?
На самом деле обновлений достаточно много и дабы не разводить кашу в одном посте, я по порядку последовательно опишу все наши наработки в отдельных заметкахБлагодарности
В первую очередь хочу сказать спасибо и низко поклониться всем кто поддерживает нас финансово. Это происходит все активнее, и мы в свою очередь тоже все активнее выпускаем обновления.С новым релизом у нас появилось два новых контрибьютера, каждый из которых реализовал два важных, долгожданных обновления.
@Артур Шевченко — реализовал новый набор JS файлов.
@Евгений Шеронов — реализовал создание нового заказа из админки
С почином вас Парни! Добро пожаловать в команду!
@Евгений Webinmd наш главный и самый опытный тестировщик. Не один релиз не проходит без его внимания и одобрения. Спасибо, что так часто бьешь по рукам. Без тебя было бы больше ошибок!
@Баха Волков наш JS ГУРУ-надзиратель. Без Бахи код и логика были бы существенно хуже.
@Иван Бочкарев — куда же без тебя. Именно Ваня нас всех собрал и не дает расслабиться
@Василий Наумкин — Вась ты по-прежнему нам всем Отец родной. Спасибо за то, что ты все это придумал.
Развитие MiniShop происходит исключительно благодаря Вам друзья!
Финансовая поддержка с вашей стороны, позволяет выделять больше времени на развитие сообщества и обновлять наши проекты, которые в свою очередь приносят пользу и вам.
Поддержать нас можно, используя следующие каналы для доната:
Огромное спасибо, всем кто поддерживает!
Поблагодарить автора
Отправить деньги
Комментарии: 27
Все празднично, но как быть к примеру с компонентами других разработчиков. После последних изменений часть из дополнений перестала работать. Не исключено, что и другие последуют их примеру. Хорошо бы чтоб и остальные разработчики делающие дополнения, как то участвовали в развитии.
Так я и публикую эту информацию в первую очередь для разработчиков компонентов. Уж в отсутствии своевременной информации — никто не обвинит, надеюсь.
Да к сожалению весь ТОП разработчиков компонентов никак не участвует в жизни сообщества и развитии экосистемы (разве что анонимно).
У нас есть планы и желания развивать компоненты, по мере возможностей будем изготавливать и поддерживать наиболее востребованные. Более того — есть планы по внедрению части платного функционала уже в комплект минишопа. Но это пока только планы.
Это сотни и тысячи часов разработки и все упирается в финансирование.
Да к сожалению весь ТОП разработчиков компонентов никак не участвует в жизни сообщества и развитии экосистемы (разве что анонимно).
У нас есть планы и желания развивать компоненты, по мере возможностей будем изготавливать и поддерживать наиболее востребованные. Более того — есть планы по внедрению части платного функционала уже в комплект минишопа. Но это пока только планы.
Это сотни и тысячи часов разработки и все упирается в финансирование.
А можно больше конкретики, какие именно компоненты перестали работать и с какой версией minishop2?
Ну вот этот точно msSetInCart, его начали ставить на новой версии 3.0.6 тогда была. Он в корзину ничего не отправляет. Потом на работающем проекте его протестили, при обновлении до 3.0.6 — аналогично себя ведёт. И были ещё пара каких то, уже и не помню точно. но один в процессе все же реанимировали. А вот с этим беда. Но вроде нашли ему замену в виде msAddLinked. Просто не все разработчики следят за своими решениями, и очень печально получается, когда обновил, и что то отваливается.
Николай почти в каждом анонсе пишет, что если работает, лучше не обновлять, может сломаться.
Ну не обновлять можно до какого то предела. потом захочется что то поставить и будет, что это работает с одной версией, а это с другой. Так можно всегда оставаться на первой версии да и все.
Согласись, если разработчик не хочет обновлять свой компонент, который работает в MiniShop2, это не проблема MiniShop2. Мы стараемся сохранить обратную совместимость, но народ требует улучшений, и некоторые из них могут приводить к тому, что некоторые допы перестают работать. Если у компонентов, которые я использую на своих проектах, будут проблемы с JS, я будут их фиксить и выкладывать решения сюда, а так же буду слать PR разработчикам допов.
Я не сказал, что это проблема именно minishop. Но согласитесь печально когда надо обновиться, а тебя не пускает компонент и ты просто ждёшь когда обновиться пхп и можно собирать проект заново.
Если всё работает, то обновляться не надо, а если хочется новый функционал, тогда можно обновится, но стоит понимать возможные риски. Мы не Apple, мы не можешь указывать разработчикам как и когда им нужно обновлять свои компоненты.
Да понятно) Но может имеет смысл забирать себе какие то брошенные компоненты. Было бы не так грустно)
Есть идея лучше, писать свои и продавать)))
Думал об этом (именно как компоненты), но пока нет времени. Возможно когда нить займусь)
Если включить новые скриптаы ms2_toggle_js_type, то после оформления заказа корзина очищается, а страница оформленного заказа типа /cart?msorder=1 не открывается. Если выключить новые скрипты, то все ок.
Вероятно у вас настроена прослушка старые скриптов. Возможно какие то компоненты используют их.
Для проверки установил чистый MODX Revolution 2.8.4-pl и только pdoTools и minishop2.
Товар redstudio.tmweb.ru/index.php?id=3
Корзина redstudio.tmweb.ru/index.php?id=4
Включаешь новые скрипты вот так как сейчас, выключаешь все ок. Могу дать доступ в админку.
Товар redstudio.tmweb.ru/index.php?id=3
Корзина redstudio.tmweb.ru/index.php?id=4
Включаешь новые скрипты вот так как сейчас, выключаешь все ок. Могу дать доступ в админку.
В любом случае спасибо за сигнал. Решение новое, мало кто его проверял и тестировал. Так что ошибки действительно могут быть. Проверим
Поправили и зарелизили.
Спасибо за ваш труд! Задонатил немножко в благодарность.
Взаимно спасибо ))
Я до релиза версии 4.1 сам подправил у себя этот кусок кода, сейчас протестил ваш, кажется он также перегружает корзину пустой без вывода чанка об успешном заказе.
Было до 4.0:
стало в 4.1:
Было до 4.0:
callbacks.submit.response.success = function (response) {
if (response.data['redirect']) {
document.location.href = response.data['redirect'];
} else if (response.data['msorder']) {
document.location.href = document.location.origin + document.location.pathname
+ (document.location.search ? document.location.search + '&' : '?')
+ 'msorder=' + response.data['msorder'];
} else {
location.reload();
}
};
стало в 4.0:this.callbacks.submit.response.success = response => {
switch (true) {
case response.data.redirect:
document.location.href = response.data.redirect;
break;
case response.data.msorder:
document.location.href = document.location.origin + document.location.pathname
+ (document.location.search ? document.location.search + '&' : '?')
+ 'msorder=' + response.data.msorder;
break;
default:
location.reload();
}
};
стало в 4.1:
this.callbacks.submit.response.success = response => {
if (response.data.redirect) {
document.location.href = response.data.redirect;
}
if (response.data.msorder) {
document.location.href = document.location.origin + document.location.pathname
+ (document.location.search ? document.location.search + '&' : '?')
+ 'msorder=' + response.data.msorder;
}
location.reload();
};
Мой вариант:this.callbacks.submit.response.success = response => {
if (response.data.redirect) {
document.location.href = response.data.redirect;
}
else if (response.data.msorder) {
document.location.href = document.location.origin + document.location.pathname
+ (document.location.search ? document.location.search + '&' : '?')
+ 'msorder=' + response.data.msorder;
} else {
location.reload();
}
};
Спасибо, за обратную связь сейчас тестируем релиз 4.2 там этот баг будет исправлен.
Да, в обработчике заказа, почему-то вдруг вместо if-else оказался switch-case.
Ну от замены конструкции логика работы кода не поменялась же.
было
было
callbacks.submit.response.success = function (response) {
if (response.data['redirect']) {
document.location.href = response.data['redirect'];
} else if (response.data['msorder']) {
document.location.href = document.location.origin + document.location.pathname
+ (document.location.search ? document.location.search + '&' : '?')
+ 'msorder=' + response.data['msorder'];
} else {
location.reload();
}
};
сталоthis.callbacks.submit.response.success = response => {
switch (true) {
case response.data.redirect:
document.location.href = response.data.redirect;
break;
case response.data.msorder:
document.location.href = document.location.origin + document.location.pathname
+ (document.location.search ? document.location.search + '&' : '?')
+ 'msorder=' + response.data.msorder;
break;
default:
location.reload();
}
};
А нет, меняется. Спасибо за помощь!
Нижний вариант не работает и моих знаний не хватает, чтобы понять как он вообще может работать. Насколько я понимаю в switch должна быть переменная, которая может принимать одно из значений указанных в case или будет выполнен код в блоке default. В switch у нас true, поэтому всегда выполняется код из блока default.
Нижний вариант бы работал, если бы response.data.redirect и response.data.msorder были boolean, тогда можно было бы заменить исходную конструкцию с if на эту. Но response.data.msorder это id.
Может, при рефакторинге заменили на switch, предположив что response.data.redirect и response.data.msorder булевы, ну чисто на автомате раз они проверяются в if.
Может, при рефакторинге заменили на switch, предположив что response.data.redirect и response.data.msorder булевы, ну чисто на автомате раз они проверяются в if.
Вероятно так и было.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.