50 минут назад
Это то понятно, но надо именно расширение унаследовать, то есть стандартные методы add, remove, status и т.д. просто вопрос заключался конкретно в том...
MiniShop3 - новости 27
Вчера в 22:14
Сам себе отвечу: так как FormIt умеет только прикреплять файл к письму, для чего он файл грузит во временную директорию, надо отдельным хуком переноси...
GoogleSheets. Компонент для работы с Google таблицами. 27
26 октября 2025, 19:22
всё, спасибо.
надо было понизить версию PHP -_//
[СДЕЛАЙ САМ] SendIt и MiniShop2 - заказ в 1 клик - быстро, просто и бесплатно. 66
23 октября 2025, 21:08
Сам отвечу, может кому-то пригодится.
В классе компонента и его плагине есть проверки статуса заказа. Если статус отличный от «новый», то там сраз...
Вопрос по mspYaPay 1
23 октября 2025, 13:18
Ну не знаю, только устарновил Sendit и у форм c AjaxForm появились уведомления
[СДЕЛАЙ САМ] Поиск на сайте по-быстрому 31
22 октября 2025, 10:41
Да, конечно, само собой ничего магически не произойдет.
Как массово добавить 301 редиректы? 5
19 октября 2025, 19:12
Спасибо большое за помощь!
MODx 3.х проблема с авторизацией через процессор "/Security/Login" 2
18 октября 2025, 17:08
Здравствуйте. Обязательно займусь доработкой, но в ноябре.
Thumb3x: Современная обработка изображений для MODX 3 28
18 октября 2025, 16:14
не для текущего ресурса. Хоть где выводи msGallery, будет выводить именно тот pagetitle ресурса(товара) к которому принадлежит файл.
Другое дело ес...
alt у картинок без "" msgallery - minishop2 21
Всего 125 239 комментариев
У меня на поддержке больше 5 сайтов с разными версиями modx и разными дополнениями, везде все ок, только один на таймвебе заразился.
Причем после чистки этого сайта, я ничего абсолютно не обновлял, а заражений новых с того момента нет — если бы была дырка или уязвимость в modx и его компонентах — почти наверняка уже бы снова заразили.
Смысл же в том, чтобы сравнить свои файлы с эталонными на предмет изменений. Файлы ядра меняться не должны.
Нужно удалить запятую у последней ссылки. Иначе этот список, который фактически является JSON-строкой, не будет преобразован в массив. То есть список должен выглядеть вот так:
Надеюсь это кому-нибудь поможет.
И ещё. Хочу сказать огромное спасибо разработчикам за проделанную титаническую работу! Очень жду, как и многие, модуль в общем доступе уже в репозиториях, хотя, думаю, из-за объёма работ и параллельных забот, это произойдёт не скоро.
Где selector оказывается пустым, и, соответственно, скрипт не может определить где корзина, что бы обновить её. Честно, пока не пойму откуда он должен получить идентификатор контейнера корзины… Возможно id блока где-то можно указать, но я не нашёл где… Возможно скрипт сам его получает где-то… Для проверки в строку
вставил, добавленный мною на сайте идентификатор msMiniCart (взятый с minisop2 в надежде что его добавление «чудесным образом» позволит корзине обновляться, но не тут то было), получив
и корзина полноценно заработала. Пока остановлюсь на этом… мне этого пока достаточно, что бы продолжить другие работы по сайту, но, возможно, скоро я снова погружусь в интересный процесс доработки кода.
Теперь ошибка в консоли вот такая. Что-то не так в функции updateToken, ошибка уже не на какой-то конкретной строке, а выводится из try/catch
на
Ошибка пропала. На странице, при нажатии на кнопку добавления товара в корзину, появилось всплывающее модальное об отсутствии токена (ранее страница просто перезагружалась). Копаюсь дальше. Сейчас видна в консоли другая ошибка:
И ещё — у этих-же сайтов ссылка на админку вида "/manager", или своя?
Пока была надежда что кто-то прям с такой же проблемой столкнулся кто-то, поэтому не прикреплял скриншоты. Сейчас будут подробности. Вот тут указаны эти методы, в самом репозитории модуля — https://github.com/modx-pro/MiniShop3/issues/15
Вот скриншот из консоли браузера
Если что, вот сама страница где тестовый товар. Перейдя в него, можно увидеть кнопку так же добавления товара в корзину.
В каталоге ошибка в консоли вылазит сразу при загрузке страницы, так же и в карточке товара.
Вот скриншот блока кода из файла:
На гите есть упоминание этой функции и пометка что «Метод setToken является асинхронной, но вызывается как синхронный. Возможны ошибки в будущем.». Может кто-то знает как убраь эту ошибку?
В идеале вообще автоматизировать и качать всё новое бесплатное из репозитория MODX / modstore, распаковывать и забивать в БД:
— название: MODX или дополнение
— версия дистрибутива
— путь к файлу
— sha1 хэш файла
Так-то я знаю, что в leftJoin указываются соответствия строк таблиц, но что после объявления псевдонима дальше используется только он — это я забыла. Спасибо!
Подкидываю альтернативную идею, если интересно — проверять версию MODX (или брать из настроек), скачивать соответствующий дистрибутив, и проверять хэши файлов сайта по файлам дистрибутива.
То есть, берём оригинальные файлы index.php в connectors, manager и корне, а так же файлы из core — и проверяем, чтобы все они присутствовали на сайте с оригинальным хэшем.
Если все основные файлы не изменены, то сайт не заражён и должен работать корректно.
Правда, есть еще возможность заражения только файлов дополнений, без ядра. Наверное, можно и их сверять с дистрибутивами из репозитория по той же логике — скачать нужную версию и сравнить хэши…
Кстати, вот вам еще идея — создать онлайн базу для проверки хэшей файлов MODX и дополнений через API. Чтобы простые GET запросы, типа /api/hash/modx/2.8.1/core/model/modx.class.php возвращали sha1 хэш запрошенного файла или 404.
Конечно, это не спасёт от уже залитых шеллов и вредоносов, но они не будут запускаться через сайт. А если запустятся и что-то изменят, то следующая проверка это покажет. И если раз за разом файлы будут меняться — то можно уже более внимательно искать, что там такое у вас залито.