- Заметки 189
- Комментарии 329
Сегодня в 02:03
Возвращался к этому вопросу, чтобы не грузить ничего заранее, делаем просто встраивание iframe после нажатия на div и вместо него встраиваем iframe. Н...
Вставка видео с Rutube с управлением на сайте 6
Вчера в 20:23
Вариант 1
Переопределить метод msOrderHandler::submit() таким образом, чтобы там перед установлением статуса «Новый» проверялся способ оплаты и, если...
[miniShop2] Дополнительная логика отправки писем при оформлении заказа 1
Вчера в 11:23
Вот давно для себя писал: modx.pro/solutions/18489
или через мускул (перед выполнением обязательно сделайте дамп) напрямую + потом кеш почистить
U...
Автопереименование повторяющегося URL 9
Вчера в 11:06
Используй phpThumbOn он как раз в префиксе указывает размер изображения.
Ссылка: modstore.pro/packages/photos-and-files/phpthumbon
имена файлов миниатюр картинок 1
14 января 2026, 15:11
Да особо без разницы куда писать. Я отслеживаю все записи. Но в идеале создавать issue в репозитории github.com/modx-pro/MiniShop3/issues.
MiniShop3 - 1.1.0 - Уже в Modstore.pro 19
14 января 2026, 10:31
Будет еще лучше. mFilter на подходе!
mSearch для MODX3 и MS3 - уже в modstore.pro 7
12 января 2026, 08:59
Ни где не могу найти информацию по настройке импорта изображений «Обновлять данные существующих изображений» — не понять, на что влияет данная настрой...
msImportExport 2.0 127
11 января 2026, 13:08
нет переводов primeVue. То есть если использовать фильтры DataTable или Calendar, то они будут англискими.Вот про это я не подумал. Думаю учтем в буду...
VueTools - универсальный компонент оформления админки в MODX 3 4
08 января 2026, 12:31
Большие сомнения у меня в этом)
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 3
07 января 2026, 15:36
вот этот сниппет
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService...
Проблемы с отправкой писем статус заказа из minishop2 5
Засовываем это в сниппет, например, smartcuttext и вызываем
У pdoResources такой проблемы нет.
Кстати, если очень хочется использовать именно массивы — то можно воспользоваться тем, что json_encode в Fenom является разрешённой PHP функцией:
В свое время я заморочился допиливанием механизма политик MODX-а, чтобы учитывались индивидуальные права пользователей, без необходимости добавления ресурсов и пользователей в группы. То есть можно было давать права как отдельным людям, так и отдельным группам. Конечно же пришлось использовать CRC. Если кому интересно, вот некоторые коды:
modzilla.class.php — основной класс модуля
modzillaproject.class.php CRC Проект
modzillaaccess.class.php кастомный класс политик безопасности.
modzillaaccessprojects.class.php что-то там тоже с правами связанное.
Писалось все это очень давно, так что в деталях многого не помню уже. Но это работало. По этому вопросу материал в помощь:
modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/26.html
modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/28.html
modxclub.ru/blog/113.html
Материал крайне мозговыносящий, но самый сок. Так что если освоите, понимать будете очень многое.
Сниппет adsense
Вызов (в шаблоне вместо [[*content]])
Все ajax запросы eventsCalendar2 отправляются на текущую страницу, где сниппет должен их словить, обработать, выдать ответ и прервать работу парсера. В общем, как написано в этой статье.
И всё отлично работает, за исключение того, что при компиляции шаблона Fenom он прописывает вывод всех данных не в переменную, которую покажет в конце, а выводит их сразу через echo.
Соотвественно, в ответ ajax запроса попадают все сниппеты, обработанные до eventsCalendar2 — и ты видишь их на странице. Это косяк старой архитектуры eventsCalendar2, ведь по уму нужно бы отправлять все запросы на отдельный коннектор или плагин, как в mFilter2 и miniShop2.
Но можно выйти из ситуации и сейчас:
1. Нужно вызывать eventsCalendar2 в шаблоне, перед всеми другими сниппетами, и сохранять его вывод в переменную.
2. А переменную уже выводить на странице. Но не в контенте, а тоже в шаблоне или в чанке, потому что ресурс обрабатывается перед шаблоном и переменная там еще будет пуста.
Тогда при обычной загрузке страницы сниппет отработает, данные сохранятся в переменную и выведутся в нужном месте страницы. А при ajax запросе сниппет отреагирует первым и выдаст чистый ответ, без других сниппетов.
Примерно так:
Кстати говоря, можно так сохранять и вывод других сниппетов, чтобы вызывать их в одном месте, а показывать в другом.
Внимание! Сниппет будет работать только с установленным компонентом MobileDetect.
Советую, для корректной работы с мультиязыками использовать системную настройку «session_cookie_path». Значение данной настройки должно быть "/" (без кавычек).
Использовать её можно исключительно там, где ты — единственный хозяин сайта и больше никого в админке гарантированно не будет. Если ты предлагаешь общедоступное решение — это не вариант.
Так что использование {$modx-> fromJSON()} отпадает, но зато мы можем использовать обычный json_decode() — он в списке разрешенных функций Fenom, вместе с
Так что, правильный вариант будет таков:
И кстати, можно заменить
См. операторы сравнения. Обожаю Fenom!
С версии 2.1.1-pl, все обычные вызовы сниппетов становятся кэшированными:
Некэшированный вызов, понятно дело, вот такой:
Можно обновляться.
Если очень хочется самому управлять кэшем — то верхний пример по-прежнему работает.