9 минут назад
присоединяюсь к просьбам дополнить чтоб /{id}/ в пути сохранения учитывались и при открытии местоположения файла, тогда не придется колхозит...
mixedImage - custom TV 166
6 часов назад
Да, msProducts почему-то в конце ставит лишнюю запятую.
Тогда сделайте сниппет getJson:
<?php
$pdo = $modx->getService('pdoFetch');
$categor...
GetResorce, lastTpl и offset/idx 14
12 ноября 2025, 09:40
Спасибо большое за точную подсказку, в этой настройке удалил и заработало.… я его блок где-то закомментировал, возможно в /assets/js/scripts.js, думал...
Ошибка 500 при открытии настроек доставки, не даёт сменить класс-обработчик 2
11 ноября 2025, 10:43
Когда пишу так запрос, все работает:
Акушер-гинеколог==24||COVID-19==37||Аллерголог-Иммунолог==38В SQL как в первом, так и во втором случае все доб...
ExtraFields. Дополнительные поля для ресурса (modResource) и пользователя (modUserProfile). 43
10 ноября 2025, 17:36
Заработало! да я по привычке в hook записал, а надо было так:
'filterresources' => [
'snippet' => 'filterresources',
'resul...
Как на SendIt вернуть на страницу результат из сниппета? 4
10 ноября 2025, 10:29
Спасибо. Вроде получилось, но не могу понять как передать дополнительные поля в CRM и почему-то время не правильное передает, +7 часов.
AmoCRM - снова в строю! 25
09 ноября 2025, 23:05
да, только для импорта данные должны быть указаны в JSON формате
msImportExport 2.0 126
07 ноября 2025, 15:22
Я слабо понял суть вопроса. Подозреваю что этот комментарий дублирует суть вопроса modx.pro/help/25398
Еще раз в этом случае — сниппет Login не раб...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 32
06 ноября 2025, 19:58
Так $this->modx->getChunk() ничего не знает про феном.
$pdoTools = $this->modx->getService('pdoTools');
$pdoTools->getChunk();Так д...
Login и fenom 1
Сколько времени на подготовку дополнения потратил ты — никого не волнует.
на
Почитать можно здесь. А про работу с джоинами pdoTools — здесь.
Tickets изначально не рассчитывался на работу без авторизации. Потом я это дописал, но не везде, как видно.
Скорее всего, из-за особенностей работы плейсхолдеров, фильтр применяется к тегу, когда он еще пуст. А когда ты убираешь md5 и страница ренедрится полностью, email туда успевает подставиться. То есть, значение в тег попадает уже после обработки фильтром.
Можно попробовать вызывать его просто некэшированным [[!+email:md5]].
Исходник фильтра в MODX выглядит так:
Ошибаться там просто негде.
pdoTools — специальная библиотека, и все сниппеты работают исключительно с её помощью.
Её используют miniShop2, mSearch2, Tickets, BannerY и другие дополнения. Думаю, тебе придётся постараться, чтобы не установить pdoTools рано или поздно себе на сайт =)
Автогенерация из опций по умолчанию делает только чекбоксы, а несколько фильтров полю указать нельзя.
Поэтому придётся делать свой кастомный класс фильтрации и там колдовать.
С него и почта лучше доходит, и спам фильтруется, и при высокой нагрузке тебя сразу отключат и предупредят.
Но показываются именно загрузки, а не покупки. То есть, чем больше новых версий дополнения — тем больше закачек.
Тогда нужно писать свой сниппет, наверное, который будет корректно реагировать на передаваемые из mFilter2 параметры, типа sortby, parents, returnIds и еще не знаю какие — нужно смотреть исходник.
Например, там есть вот такие места:
Это проверка ресурсов, которые сниппет может вывести.
Наверное, проще будет создать свою модель как положено.
По умолчанию там mSearch2, но часто используются pdoResources или msProducts.
Получить эти параметры в классе фильтрации можно через $this->config, например:
А теперь представь, что если бы существовал способ делать так, как ты хочешь? Выходит, что любой сайт мог бы выполнять команды от root и в чем тогда защита? Злоумышленник ломает сайт и получает доступ ко всему серверу, ко всем сайтам и файлам.
Так что, ответ прост — это невозможно.
Процесс, который создаёт сайты должен работать не как обычный сайт. Это или отдельный демон на Python, как у нас на хостинге, или отдельный процесс на PHP, но запущенный от root и защищенный по IP от случайного коннекта. Или просто консольные скрипты, как в моей инструкции.
Когда я делал тестовые сайты, там использовались именно эти скрипты, которые запускались по расписанию раз в n минут.
То есть, юзер заходил на обычный сайт, заказывал себе тест, запрос сохранялся в БД, а сервер уже раз в 10 минут от root запускал скрипт, который проверял заказы в БД, создавал тестовые сайты и отправлял на email уведомления об этом.
Ты можешь сделать так же.