Сергей Шлоков
С нами с 31 января 2013; Место в рейтинге пользователей: #52 часа назад
Иван, подскажи пожалуйста по настройке пути загрузки файлов или медиа источника.
Проблема такая: если загружаю фото в редактор выбирая его с компа — ...
mxEditorJs - блочный редактор Editor.js для MODX 3 6
7 часов назад
Это ты конечно прикольно придумал))) Я вот себе бота в телеге замутил, который поддерживает 3 CLI интерфейса opencode, claude, codex. Это я к тому, чт...
[aiAssist] Я же просто попросил его создать магазин, а он СДЕЛАЛ ЭТО! 14
Вчера в 13:31
При включении компонента, все теги, снипеты и вызовы на fenom — на фронте выводятся текстом без обработки
[xDevPicker] Редактируем чанки с фронтенда в один клик 5
16 мая 2026, 12:23
Если кто-то использует счетчики, например, Яндекса, то это должно быть отражено в политике конфиденциальности и для них тоже нужно брать согласие поль...
Плашка о использовании cookie файлов на сайте 11
16 мая 2026, 08:18
Под miniShop2 обычно так делаю:
<script>
$(document).ready(function () {
miniShop2.Callbacks.add('Order.submit.response.succes...
Настройка JS-события для Метрики через метод reachGoal 1
15 мая 2026, 15:10
Посмотрел внимательнее: дублирование не по вариантам в источнике файлов, а по количеству фото у товара.
Новости MiniShop3, mSearch, mFilter 23
15 мая 2026, 14:23
Не могу отредактировать, сам себе отвечу.
Справился с ситуацией, поменял тип вывода с JSON на String и дальше уже через Рендер вывел. Все ок.
[msStatOrders] - Статистика заказов Minishop2 / Новая версия 42
14 мая 2026, 11:38
Желательно ставить disabled для кнопки «Сбросить», если не выбрано ни одного фильтра: disk.yandex.ru/i/PZliDL8USeHvAA
Тогда можно в зависимости от ...
mFilter 1.4.0 - перестроенная система кеширования 1
14 мая 2026, 09:48
С бэкапами все плохо.
На S3 на пол дороги зависло создание бэкапа. Как остановить?
В общем сырая панелька, багов много) Функционала много, но толк...
Мне было грустно без Modhost и я сделал Meowbox 61
13 мая 2026, 23:57
Да, как раз ChatGPT и помог, спасибо
Не открываются категории miniShop 2 в админке [РЕШЕНО] 3
Просто с таким же успехом можно восхищаться пустой папкой кэша после того, как ты его отключишь.
Т.е. переменная $inModx показывает, что мы внутри MODX. А переменная $outsideModx, которая является обратной к $inModx, показывает, что мы снаружи. Шикарно, правда?
А получение ресурса и пользователя указанными методами говорит о том, что автор не понимает как это работает внутри.
Fenom используется в pdoTools не как полноценный шаблонизатор, а как дополнительный парсер шаблонизатора MODX. Т.е. контент парсится двумя шаблонизаторами! Но главным является именно последний. А для него нет понятия «файловый сниппет». Есть обычный сниппет, который хранится в БД. Но сниппет — это php код. А код, чтобы он выполнился, нужно подключать через конструкцию include. Для этого создается файл в папке includes/elements/modsnippet/. И уже он потом подключается.
Когда вызывается файловый сниппет, pdoTools создаёт обычный сниппет MODX с именем в виде хеша. И MODX подготавливает его к исполнению — сохраняет в кэш, чтобы заинклюдить.
Но хочу отметить, что это не кэш результата сниппета. Это кэш кода сниппета. Т.е. создается файл для кэширования другого файла!!! Сам файловый сниппет никогда не кэшируется! Даже если ты очень преочень захочешь.
Это и куча других косяков реализации Fenom заставила меня написать ZoomX. В нём я заморочился этой темой и написал отдельный механизм для файловых элементов. Плюс они могут кэшироваться. Плюс за всё отвечает только один шаблонизатор. Поэтому я всем разработчикам, стремящимся работать по фуншую, советую ставить pdoTools из-за его сниппетов (Fenom сразу выключить) и ZoomX из-за правильного механизма шаблонизации и роутинга.
Это только для тех, кто хочет работать с шаблонизатором Fenom. Если есть желание работать в режиме фреймворка, то можно работать с шаблонизатором Smarty, который идёт с MODX из коробки. Я много раз уже говорил, что Fenom в pdoTools — это костыль, который вроде как добавляет возможности нормального шаблонизатора, но работает по правилам MODX шаблонизатора — многократный парсинг и компиляция контента, который ему подсовывает MODX шаблонизатор. В правильном режиме php шаблонизатор парсит страницу один раз, компилирует её в php файл и использует его при следующих запросах, не тратя время на повторный парсинг и компиляцию.
Сначала проверяется наличие магического метода __invoke. Если его нет, то будет вызван метод index.
Блок meta можно отключить в системной настройке zoomx_include_request_info
Правильнее было бы сказать, что к объекту $modx добавляется не класс, а экземпляр указанного класса. Он же возвращается методом getService().
Соответственно получить доступ к этому экземпляру можно не через $modx->className, а через $modx->aliasName. Ниже в статье именно так и будет указано. Получается небольшое разночтение. Т.е. псевдоним вы можете указать любой (первый параметр), а вот класс (второй параметр) должен быть точным.