4 часа назад
Так $this->modx->getChunk() ничего не знает про феном.
$pdoTools = $this->modx->getService('pdoTools');
$pdoTools->getChunk();Так д...
Login и fenom 1
5 часов назад
Есть системные события, которые позволяют пройти аутентификацию вручную.
Стоит проверить плагины.
Любой пользователь авторизовывается в админке 4
8 часов назад
В 2025 заводится? У меня не получилось отправлять данные из форм через formIt или ajaxForm.
Что я делаю не так?
AmoCRM - снова в строю! 21
9 часов назад
Отличная новость, спасибо за ваш труд.
Очень ждём!
Есть один комментарий, смотрю я на скрин Ну и самое интересное. Вот так выглядит обновленная вкла...
MiniShop3 - новости 32
05 ноября 2025, 15:09
Добрый день! Можно ли в новой версии экспортировать/импортировать tv-поля типа MIGX?
msImportExport 2.0 125
05 ноября 2025, 14:11
Ура! Давно не хватало!
Gallery3x — это современный компонент галереи изображений для MODX3 10
05 ноября 2025, 12:57
Модерация будет пройдена, если компонент будет дороже на 30%
Gallery3x - 3.0.19 теперь поддерживает видеогалереи 3
04 ноября 2025, 16:12
Подтверждаю, выводит к сожалению не все строки
Закономерность отловить не получается.
Но у меня показывает типа «Строк 10, Показано 1-6 из 7»
И в к...
settingsWidget - настройки в панели управления 22
04 ноября 2025, 05:54
Я сделал вот такой скрипт, который можно повесить на cron или запускать вручную при необходимости. Суть в том, что он проходит по всему сайту, генерир...
Подскажите, как с помощью StercSeoSiteMap создать карту со ссылками на друге карты ? 1
01 ноября 2025, 10:54
Каждое предработное утро я начинаю с чтение новостей. И первым всегда идёт MODX.pro.
От такого дайджеста на меня костюм-тройка чуть сам не налез, б...
Дайджест форума за октябрь 2025 глазами DeepSeek 4
Более того, при создании нового заказа юзер может выбирать адрес доставки из уже оформленных (чтобы не заполнять каждый раз вручную). Не уверен, что это есть из коробки, но на каких-то проектах я выбор адреса из списка точно делал.
С моей стороны, наоборот, удалять адрес при удалении заказа — это спорное решение.
Либо через mod_proxy, либо через mod_rewrite.
А если сайтов 2 или более — то нужен Nginx или Apache2, которые будут разруливать запросы.
Очевидно, что на публичных хостингах тебе просто придётся работать с одним из них.
Тут вот люди даже Hello World пока не могут вывести, а потом начнутся вопросы про реактивность, асинхронность и Vuex.
Для того, чтобы это стало простым и клёвым, нужно взойти на определённую высоту. После этого — да, оно всё просто. А вот MODX и WP наоборот кажутся очень сложными и неудобными, вот такой парадокс.
Насчёт ассемблера… Ну как покажешь веб-сайт на ассемблере, тогда и продолжим сравнения.
На MODX и WP можно пилить сайты вообще без знаний, просто кликая мышкой. А Nuxt и прочее Node.js это уже для серьёзных специалистов.
Придётся учиться, но оно того стоит.
Сам Nginx умеет отдавать только статичные файлы, а обработку php он передаёт другому процессу. Как правило, это php-fpm, который непрерывно крутится в памяти сервера. И для запуска нового сайта на хостинге этот процесс нужно перезапускать.
Разница лишь в том, что сервер php запускает ваш хостер. А сервер node.js нужно запускать самому. Но это говорит лишь о неразвитости хостинга для node. Я могу себе представить с будущем хостинги для node, где всё будет настроено так же удобно, как сегодня для php.
Ровно так же Nginx может отдавать обработку запроса в ruby, python, go, опять же в node.js и еще много куда. Сам Nginx этого ничего не умеет, потому что он reverse-proxy server.
Для справки, Apache2 работу с php тоже сам по себе не поддерживает, он это делает через встроенный модуль mod_php, который может быть и отключен.
Работа с БД не зависит от вида сервера — он просто будет выполнять ваш код.
Смысл в том, что после разбора внутреннего тега [[+id]] получается новый тег, например [[~9]], а он уже превращается в ссылку на документ с id = 9.
То есть, нужно парсить этот тег минимум 2 раза — это и есть рекурсия. Так весь MODX и работает, это его чуть ли не основная фишка.
Ну а замена простых плейхолдеров… Самый главный архитектор системы об этом давно знает и ничего менять не хочет.
Хочешь исправить — ставь pdoTools и пользуйся, для того расширения и нужны.
Ты даже кода чанков не привёл, тупо итоговые цифры и заявление, что разницы нет.
Если ты эти тесты проводил на одном сайте, и парсер pdoTools был включен — то поздравляю, ты уже пользовался оптимизациями, потому что pdoParser разбирает простые плейсхолдеры сам, без modTag.
Я прямо сейчас создал 2 сайта на modhost.pro. На один установил pdoTools, а на другой нет.
Тестовый сниппет:
Простейший чанк:
Обрати внимание, что чанк без Fenom, чисто синтаксис MODX.
Смотрим на 10000 проходов, чтобы разницу было хорошо видно:
— MODX без pdoTools — 1.3216 сек (самый быстрый результат, что удалось увидеть)
— MODX c установленным pdoTools — 0.0557 (самый тормозной результат, было и 0.0156).
Внимание, pdoTools просто установлен, и работает по умолчанию. Никаких специальных оптимизаций.Теперь понятно, что парсер MODX без pdoTools просто тормозное говно и твои тесты ни о чём?
Updated 26.04.2022
Попробовал повторить тест еще раз и не смог — оказалось, что я допустил ошибку. Если сниппет использует $modx->getChunk(), то разницы в скорости не будет, потому что pdoParser тогда не работает.
Сниппет должен использовать $modx->getService('pdoTools')->getChunk('test', $data);, тогда всё быстро.
Всё проверил еще раз и накатал новую заметку с результатами.
Как справится парсер MODX с выводом такой ветки комментариев, если он каждый тэг и условие будет превращать в modTag и запускать его parse?
PHP шаблонизатор всё еще только про удобство, а не скорость?
Выводится без кэша, потому что комментарии отличаются для каждого юзера. Админу выводятся удалённые, автору подсвечиваются его ответы и т.д.
Попробуйте это повторить на парсере MODX. Не думаю, что вывод комментариев на сайте это прям такая уж редкая задача.
Правда, народ на запрещённом сайте тоже недоумевает
Это сняло бы массу проблем с расположением файлов, переездом рабочих сайтов и разработкой дополнений. Тем более, что домен для него давно куплен и ждёт своего часа — minishop3.com
Но тут сразу второй вопорос — каждое дополнение будет устанавливать собственную такую таблицу? Или они все должны использовать какую-то общую? Если общую — как дополнениям об этом договориться, требовать какую-то зависимость, типа нового дополнения AjaxSettingsDB?
И если у вызова сниппета будет какой-то уникальный параметр, типа id юзера, то количество записей в такой БД будет ровно тем же, что и у таблицы сессий. Еще встаёт вопрос еще об очистке этой таблицы — сколько дней хранить в ней настройки?
Но, повторюсь, этот вариант мне нравится и в былые времена я мог бы переписать свои дополнения на хранение настроек в одной общей таблице. Кто сейчас это будет делать — вопрос.
В репозитории та же версия, что и на modstore.
Архивация репозитория означает, что лично я им заниматься не буду, только и всего.