34 минуты назад
Обновление компонента
История изменений MaxNotify 3
1.2.0-pl
добавлен канал max в Центр уведомлений miniShop3;добавлена отправка из Центра дл...
MaxNotify3 3
3 часа назад
Копать надо в браузере. На вкладке сеть, если ответ 500, тогда в логи сервера.
Зависает корзина минишоп2 1
Сегодня в 11:52
Пока вижу 1 проблему — не работает меню: disk.yandex.ru/i/beSipZYQeN32Pg
Хватит логгировать как в каменном веке 🪵 2
16 июня 2026, 15:00
Последний FormIt + последний FetchIt = белый экран
Последний pdoTools + последний MODx v3 = белый экран
FormIt 5.2: нативный AJAX и reCAPTCHA v3 5
15 июня 2026, 19:12
Благодарю) сижу ломаю голову, все сайты положил
Не получается установить PdoTools 6
15 июня 2026, 14:59
Обновил компонент
1.1.0-pl
— добавлена прямая интеграция с официальным MAX Business API;
— добавлен выбор провайдера между MAX Business и ruma...
MaxNotify 1
11 июня 2026, 21:58
Позже, может размещу и на docs.modx.pro, пока времени нет
IskWaf 3.2.0 — большое обновление WAF для MODX 3 2
11 июня 2026, 15:40
Добрый день! А можно как-то в чанк сниппета msOptionsPrice.option вывести цену? prnt.sc/cfX_WTwINTVL
Сам чанк {foreach $options as $name => $...
[msOptionsPrice2] - Модификации продукта. 375
11 июня 2026, 15:36
Для последних версий (msOptionsPrice2 — 2.5.22-beta и msDiscount — 1.3.13-pl) не работает
Используем совместно msDiscount и msOptionsPrice2 1
Всего 125 962 комментария
В идеале вообще автоматизировать и качать всё новое бесплатное из репозитория 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.
Конечно, это не спасёт от уже залитых шеллов и вредоносов, но они не будут запускаться через сайт. А если запустятся и что-то изменят, то следующая проверка это покажет. И если раз за разом файлы будут меняться — то можно уже более внимательно искать, что там такое у вас залито.
И кажется ты не понимаешь что это за магические письмена
Первым аргументом в метод leftJoin передаётся имя класса ('goodStarVoteCount'); вторым псевдоним для таблицы ( 'countaverage'), если не передать будет взято имя класса; третьим аргументом передаётся условие соединение таблиц как в операторе ON в SQL ( 'modResource.id = countaverage.thread').
На чистом SQL запрос будет примерно таким
Как видишь в секциях SELECT и ON используется псевдоним таблицы, в xPDO тоже надо использовать псевдонимы, если они указаны в leftJoin или setTableAlias. Поэтому вот это всё
неверно, должно быть так
И наконец, чтобы проверить какой же запрос будет выполнен можно сделать так
Установил, настроил, капча выводится, но если не чекнуть её и отправить форму получаю ошибку: Журнал ошибок ModX пуст.
Modx 3.1.2-pl, YaSmartCaptcha 1.0.2-pl, Formit 5.1.1-pl.
В логе сервера такая ошибка:
Подскажите, пожалуйста, может я что-то не так настроил?
Кто ещё не нажал кнопочку «Отправить деньги» в разделе «Поблагодарить автора» под анонсом поста — самое время всем это сделать!
он же там потом разрастаться будет и никто из разработчиков про это помнить не будет.
Хочется отдельный файл лога — почему не положить рядом со стандартным errors.log что-то типа
?
Сайт был версии 2.7.2
Зараженные директории:
- assets/components/formit/js/mgr/widgets/migrate.panel.php
- assets/components/migx/js/mgr/widgets/grids/migxgallery.grid.php
- assets/components/pdotools/js/pdopage.min.php
Сам код во всех файлах одинаковыйНу и да как уже выше писали на уровень выше корня сайта были созданы директории:
.local, .config — в которых и была пакасть.
Компоненты обновил, систему обновил, дрянь удалил.
3й День пока все ок
Но там ведь нет возможности указать периодичность запусков заданий. Только можно указать точное время запуска.
При такой структуре Scheduler'а, для достижения периодичности выполнения нужно будет реализовать логику самоперепланирования внутри скриптов, а первый запуск придется сделать вручную. Это как-то не очень удобно не находите? и не очень надежно. Если вы знаете в каком компоненте есть реализация нормальной работы с этим планировщиком напишите. я гляну, вдруг что-то не так понимаю.