Релиз miniShop2 ver. 4.4.1 & 4.4.2
Добрый день!
Нашлось немного времени, чтобы провести «санитарную» работу в нашем любимом минишопе.
В репозитории было обработано и закрыто около 30 issue по разным причинам: это и дубли, и уже реализованный функционал, и узконаправленные пожелания.
Надеемся, никто не обиделся.
Спасибо всем, кто помогал находить и описывать эти issue!
Кроме этого были влиты пару некритичных PR с исправлениями:
### Fixed
— Исправления Vanila JS #939
— Исправлена опечатка в лексиконе #940
— Исправлен показ скидки при ненулевой старой цене #941
### Added
— Возможность изменять покупателя в плагине #926
— Добавлена возможность загружать изображения в галерею без расширения файла #943
— В схему добавлены поля remains и reserved #927
Новая версия в репозитории, перед обновлением не забываем про бэкапы.
06.10.2025
На данный момент, по косвенным признакам и парочке сообщений были выявлены 2 проблемы:
1. После обновления, в админ панели не отображаются товары. Такое происходит из-за того что новые поля не создались.
Быстрое решение:
Создать через phpMyAdmin 2 поля в таблице ms2_products
— remains (int)
— reserved (int)
2. Если есть плагин на событие msOnBeforeChangeOrderStatus или msOnChangeOrderStatus, то заказы создаются со статусом null
Быстрое решение:
В файле core/components/minishop2/model/minishop2/minishop2.class.php
Найти строку 'old_status' => $old_status->get('id'), и за комментрировать.
Напоминаю, что о найденных ошибках можно сообщать в репозитории github, либо тут в комментариях (касательно только версии 4.4.1) с подробным описанием как воспроизвести ошибку.
06.10.2025
Выпустили патч 4.4.2 с исправлением указанных ошибок
Нашлось немного времени, чтобы провести «санитарную» работу в нашем любимом минишопе.
В репозитории было обработано и закрыто около 30 issue по разным причинам: это и дубли, и уже реализованный функционал, и узконаправленные пожелания.
Надеемся, никто не обиделся.
Спасибо всем, кто помогал находить и описывать эти issue!
Кроме этого были влиты пару некритичных PR с исправлениями:
### Fixed
— Исправления Vanila JS #939
— Исправлена опечатка в лексиконе #940
— Исправлен показ скидки при ненулевой старой цене #941
### Added
— Возможность изменять покупателя в плагине #926
— Добавлена возможность загружать изображения в галерею без расширения файла #943
— В схему добавлены поля remains и reserved #927
Новая версия в репозитории, перед обновлением не забываем про бэкапы.
06.10.2025
На данный момент, по косвенным признакам и парочке сообщений были выявлены 2 проблемы:
1. После обновления, в админ панели не отображаются товары. Такое происходит из-за того что новые поля не создались.
Быстрое решение:
Создать через phpMyAdmin 2 поля в таблице ms2_products
— remains (int)
— reserved (int)
2. Если есть плагин на событие msOnBeforeChangeOrderStatus или msOnChangeOrderStatus, то заказы создаются со статусом null
Быстрое решение:
В файле core/components/minishop2/model/minishop2/minishop2.class.php
Найти строку 'old_status' => $old_status->get('id'), и за комментрировать.
Напоминаю, что о найденных ошибках можно сообщать в репозитории github, либо тут в комментариях (касательно только версии 4.4.1) с подробным описанием как воспроизвести ошибку.
06.10.2025
Выпустили патч 4.4.2 с исправлением указанных ошибок
Комментарии: 18
Спасибо.
А есть какие-то новости по MiniShop3? Уже 8 месяцев проект не обновляется судя по
github.com/modx-pro/MiniShop3
Просто без этого компонента — не будет всего остального и народ так и будет на 2 ветке сидеть.
А есть какие-то новости по MiniShop3? Уже 8 месяцев проект не обновляется судя по
github.com/modx-pro/MiniShop3
Просто без этого компонента — не будет всего остального и народ так и будет на 2 ветке сидеть.
есть только такой ответ на данный момент
Рад за Николая! Еще один разработчик вышел за пределы MODX и открыл для себя много интересного.
Скопирую сюда его текст для удобства:

Я еще в прошлом году от скуки сделал composer-версию, в которой перелопатил классы и добавил инсталлятор — но интереса никто не проявил.
Думаю, выхода miniShop 3 можно уже и не ждать. Да и просто выйти — это только половина дела, его нужно поддерживать и дорабатывать, а желающих давно нет.
Скопирую сюда его текст для удобства:

Я еще в прошлом году от скуки сделал composer-версию, в которой перелопатил классы и добавил инсталлятор — но интереса никто не проявил.
Думаю, выхода miniShop 3 можно уже и не ждать. Да и просто выйти — это только половина дела, его нужно поддерживать и дорабатывать, а желающих давно нет.
Думаю, выхода miniShop 3 можно уже и не ждатьСвято место пусто не бывает, вот @Aleksandr Huz разрабатывает свою экосистему на базе pageBlocks, тамбудет магазин
Но и miniShop 3 я надеюсь выйдет, надо просто начать, а доработать можно и потом, в конец концов miniShop2 так и существует, в нём многое изменилось с момента первого релиза.
А что начинать, вон альфа версия, пожалуйста: github.com/modx-pro/miniShop3/
Альфа — это значит в целом то основное все работает. Собери небольшой магазин (может личный какой или для друзей), потестируй, что можно улучшить — присылай PR. Нюанс в том, что никто не делает этого, все предпочитают на двойке собирать.
Альфа — это значит в целом то основное все работает. Собери небольшой магазин (может личный какой или для друзей), потестируй, что можно улучшить — присылай PR. Нюанс в том, что никто не делает этого, все предпочитают на двойке собирать.
Обновил два магазина, сломал два магазина. Откатил обратно
А почему бы не написать что конкретно сломалось? Религия не позволяет?
Ответ весьма остроумный. Надеюсь, такой же подход у тебя и в программировании
Ага, именно такой: если что-то ломается, я стараюсь определить причину и, если проблема в компоненте, сообщаю делали ошибки разработчику, чтобы можно было их исправить. А всё на что тебя хватило, это сообщить нам как ты героически сломал два магазина и потом не менее героически их починил, только зачем сообществу эта информация? Ищешь сочувствия?
Добрый день. Подскажите, какая версия php лучше подойдет 7.4., или с 8 тоже должно хорошо работать? Так же заметил, что c minishop2 4.4.0 если версия бд более новая (допустим 8.0.42-cll-lve), то при наполнении товаров или категорий сильно возрастает нагрузка на сервер (иногда 300% и сайт перестает работать). а многие хостинги ставят уже такую бд, и нужно постоянно просить, чтоб переносили на более старые сервера с бд 5.7.42-cll-lve. В версии 4.4.2? или причина нагрузки может быть в чем-то так и minishop2 хорошо работает и с 8.0.42-cll-lve?
Здравствуйте. Стабильная версия PHP для minishop2 — это 7.4. До 8.1 тоже все работает, но могут быть проблемы с подключаемыми компонентами. Что касается СУБД — рекомендую использовать mariaDB 10.6 — она довольно современна, но при этом не вызывает проблем.
Оптимизацию под mysql 8 насколько я знаю специально никто не делал. Вернее закрывали ряд проблем, но не все.
Насчет возрастания нагрузки не знаю что сказать. Таких замечаний отдельно не встречал никогда.
Если вы хотите вы можете заказать оптимизацию минишоп2 под mysql8 — я думаю сделаем. Можете попробовать организовать сбор средств.
Ну и замечу что начинается эпоха MiniShop3 — он уже почти готов и к новому году я думаю увидит свет в магазине дополнений Modstore
Оптимизацию под mysql 8 насколько я знаю специально никто не делал. Вернее закрывали ряд проблем, но не все.
Насчет возрастания нагрузки не знаю что сказать. Таких замечаний отдельно не встречал никогда.
Если вы хотите вы можете заказать оптимизацию минишоп2 под mysql8 — я думаю сделаем. Можете попробовать организовать сбор средств.
Ну и замечу что начинается эпоха MiniShop3 — он уже почти готов и к новому году я думаю увидит свет в магазине дополнений Modstore
Спасибо за ответ!
Последняя безумкинская версия минишопа — 2.4
я успел сломать только один =)
Доброе утро.
[2025-11-25 23:10:22] (ERROR @ /home/public_html/core/components/msdiscount/model/msdiscount/msdiscount.class.php : 452) PHP warning: Illegal offset type
[2025-11-25 23:10:22] (ERROR @ /home/public_html/core/components/msdiscount/model/msdiscount/msdiscount.class.php : 412) PHP warning: Illegal offset type in isset or empty
[2025-11-25 23:10:22] (ERROR @ /home/public_html/core/xpdo/om/xpdoobject.class.php : 240) Error 42S22 executing statement:
Array
(
[0] => 42S22
[1] => 1054
[2] => Unknown column 'msProduct.article' in 'where clause'
) Появились такие ошибки( Версия minishop2 4.4.2.
Проверь наличие поля article в таблице ms2_products.
Это стандартное поле, оно всегда было в минишопе. Никаких манипуляций с ним никогда не производилось.
Это стандартное поле, оно всегда было в минишопе. Никаких манипуляций с ним никогда не производилось.
есть поле prnt.sc/gTm16QUgah9S
вот часть кода
вот часть кода
public function getProductGroups($id) {
if (isset($this->cache['products'][$id])) {
return $this->cache['products'][$id];
}
$groups = array();
if ($product = $this->modx->getObject('msProduct', $id)) {
$ids = $this->modx->getParentIds($id, 10, array('context' => $product->get('context_key')));
$ids[] = $id;
}
else {
$ids = array($id);
}
$q = $this->modx->newQuery('msCategoryMember', array('product_id' => $id));
$q->select('category_id');
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
$this->modx->queryTime += microtime(true) - $tstart;
$this->modx->executedQueries++;
if ($tmp = $q->stmt->fetchAll(PDO::FETCH_COLUMN)) {
$ids = array_merge($ids, $tmp);
}
}
$ids = array_unique($ids);
$where = count($ids) > 1
? array('document:IN' => $ids)
: array('document' => $ids[0]);
$q = $this->modx->newQuery('modResourceGroupResource', $where);
$q->leftJoin('msdProductGroup', 'msdProductGroup', 'msdProductGroup.id = modResourceGroupResource.document_group');
$q->select('document_group, discount');
$q->sortby('discount');
$q->groupby('modResourceGroupResource.id');
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
$this->modx->queryTime += microtime(true) - $tstart;
$this->modx->executedQueries++;
while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
$groups[$row['document_group']] = $row['discount'];
}
}
$this->cache['products'][$id] = $groups;
return $groups;
}строка 412 if (isset($this->cache['products'][$id])) {
return $this->cache['products'][$id];
}строка 452 $this->cache['products'][$id] = $groups;
Дмитрий. первые две строки в вашем логе — это не ошибки. Это предупреждения о плохом коде. Они сами по себе ничего не ломают.
Настоящая проблема у вас только одна, та, что про article
Настоящая проблема у вас только одна, та, что про article
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.