17 сентября 2025, 19:21 Вот таблица из вопроса в текстовом виде на случай, если ее неудобно читать или открывать: Этап: OnMODXInit — Проверка сессии Функционал: Проверка наличия данных в сессии Код / Действие: if (!session('device.type')) { ... } if (!session('user.lang')) { ... }Примечания: На случай, если в сессию была вручную положена смена устройства или языка. <cut/> Этап OnMODXInit — MobileDetect Функционал: Определение типа устройства Код / Действие: $detect = new MobileDetect(); $isDesktop = !$detect->isMobile() && !$detect->isTablet(); session('device.type', $isDesktop ? 'desktop' : 'mobile');Примечания: Определяется при инициализации MODX, чтобы не делать это на каждой странице. Если не удалось определить — ставим «mobile» как дефолт. Значение в сессии нужно для ручного переключения. Этап: OnMODXInit — Язык браузера Функционал: Получение языка из заголовка Код / Действие: lang=substr(_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); session('user.lang', $lang); Примечания: Используется тот же плагин, что и выше. Этап: OnMODXInit — Плейсхолдеры Функционал: Установка плейсхолдеров Код / Действие: pls('device', session('device.type')); pls('lang', session('user.lang'));Примечания: Нужно ли использовать session_write_close();? Этап: OnHandleRequest — Babel / Контекст Функционал: Переключение контекста по URL Код / Действие: switch_context(['base_url' => request()->segment(1)]);Примечания: Нужно исключить mgr: if ($modx->context->key !== 'mgr')Применяется сразу, т.к. сессия без перезагрузки не даст данные Событие может меняться местами с другим — нужно повесить на оба Номер сегмента — это порядковый номер контекста в URL Этап: OnLoadWebDocument — Переключение шаблона Функционал: Установка шаблона в зависимости от устройства Код / Действие: if (session('device.type') == 'desktop') { $modx->resource->set('template', $newTemplateId); }Примечания: Меняем шаблон через специальный плагин, где заданы соответствия для mobile/desktop. Ресурсы не кешируются. Доп. учесть: — Конфликт сессий Функционал: — Код / Действие: — Примечания:? Вопросы / Переход с неудачного решения по смене контекста И по определению версии (моб/десктоп.) на ModHelpers 2 0
01 июня 2025, 10:26 О, это приятная новость! А скажите, пожалуйста, не возникало проблем в ходе эксплуатации из-за неправильных настроек или вообще самого наличия других языковых версий? Вопросы / Вручную сделать перевод 4 0
22 апреля 2025, 11:54 Извините, что я тут заспамила, но ответ: положила файл и все заработало. Вопросы / AdminTools и ош. 500 8 0
22 апреля 2025, 11:30 С другой стороны, на extras.modx указано, что совместимо с current. Хотя....Extension not working with Modx 3 totally. Admin page throws error like Fatal error: Uncaught Error: Failed opening required '/srv/www/vhosts/lending.adm62.ru/html/core/model/modx/modcachemanager.class.php' Вопросы / AdminTools и ош. 500 8 0
22 апреля 2025, 11:02 Хм… Тогда есть пара вопросов… для свежего MODX'а рекомендуется использовать не ниже 8.2, при этом, вы написали, что обычно Admin Tools себя так не ведет, значит, у вас он установлен. Т.е., многие каким-то образом нашли баланс, подходящий для ядра и др. дополнений, так и для Tools'а. У вас какая версия? Вопросы / AdminTools и ош. 500 8 0
22 апреля 2025, 10:37 Логов самого хостинга вообще нет. В кэше нашла что-то про доступ (по не буду приводить здесь), а из интересного — у меня выставлены настройки этого сайта php 8.3 в настройках хостинга, а версия в БД определяется 7.4. Но, опять же, только если Админ Тулс каким-то образом это проверяет или меняет, т.к. если это критическая ошибка, то оно бы и раньше не работало, ИМХО. Вопросы / AdminTools и ош. 500 8 0
11 ноября 2024, 11:04 Оо, понятно, спасибо! … Тогда и с Tickets'ами перестану мучиться. Всё заменю на др. компоненты. Вопросы / Не могу справиться с fullCalendar"ем 7 0
10 ноября 2024, 22:44 C одной стороны, да, с другой- я его скачала с Modstore. Да и по приведенному мной коду у меня выводится календарь (просто базовый). Вопросы / Не могу справиться с fullCalendar"ем 7 0
Открытое письмо руководству MODX и команде MODX Revolution (Русская версия) Николай, по твоему комментарию — полностью согласен. Выше писал о другом. А то, что не принимаются улучшения по существующей «кодовой базе» MODx — это да. Это проблема с которо...
mxHeadless &mdash; REST API для MODX 3 без лишнего Чем лучше mxApi или gtsAPI? (По gtsAPI наверно мне накидают замечаний. Но лучше знать свои недостатки :-))
[Решено] Обновление MODX 3.2.2 компонент FetchIt ломает сайт PHP 8.3 Уррра! Благодарим! И посылаем лучи добра!
[Tickets] Версия 1.14.0-pl — первый релиз с апреля 2022 Иван, ещё после обновления автоматически не заполняются поля introtext с выставленным ограничением в 500 символов. Без ограничения — заполняются.
modxkit/testbench - тесты дополнений MODX 3 на живом ядре, в том числе в CI MODX 3.0.x не поддерживается. Не «руки не дошли», а измеренная причина: ядро 3.0.x не поднимается в API-режиме полноценно. modX::reloadConfig() двумя соседними строками дважды вклю...
ModxMinify - Error 500 @Илья Уткин привет! github.com/Sterc/modx-minify давай обновим версию в сторе?
Impex3 - импорт/экспорт ресурсов MODX3 с поддержкой товаров MiniShop3 Да, несуществующие на сайте ресурсы будут просто проигнорированы. Те, которые есть, будут обновлены стандартным образом.
pdoTools 2.14.0 и pdoTools3 3.1.0-pl: обновление для MODX 2 и MODX 3 Это будет исправлено в следующей версии github.com/modx-pro/pdoTools3/pull/20
MiniShop3: обратная связь от разработчиков Добрый день! github.com/modx-pro/MiniShop3/issues/641 — уже на код ревью. Спасибо
Этап:
OnMODXInit — Проверка сессии
Функционал: Проверка наличия данных в сессии
Код / Действие:
Примечания: На случай, если в сессию была вручную положена смена устройства или языка.
<cut/>
Этап
OnMODXInit — MobileDetect
Функционал: Определение типа устройства
Код / Действие:
Примечания: Определяется при инициализации MODX, чтобы не делать это на каждой странице. Если не удалось определить — ставим «mobile» как дефолт. Значение в сессии нужно для ручного переключения.
Этап:
OnMODXInit — Язык браузера
Функционал: Получение языка из заголовка
Код / Действие:
Примечания: Используется тот же плагин, что и выше.
Этап:
OnMODXInit — Плейсхолдеры
Функционал: Установка плейсхолдеров
Код / Действие:
Примечания: Нужно ли использовать session_write_close();?
Этап:
OnHandleRequest — Babel / Контекст
Функционал: Переключение контекста по URL
Код / Действие:
Примечания:
Нужно исключить mgr: Применяется сразу, т.к. сессия без перезагрузки не даст данные
Событие может меняться местами с другим — нужно повесить на оба
Номер сегмента — это порядковый номер контекста в URL
Этап:
OnLoadWebDocument — Переключение шаблона
Функционал: Установка шаблона в зависимости от устройства
Код / Действие:
Примечания: Меняем шаблон через специальный плагин, где заданы соответствия для mobile/desktop. Ресурсы не кешируются.
Доп. учесть:
— Конфликт сессий
Функционал:
— Код / Действие: —
Примечания:?
Хотя....Extension not working with Modx 3 totally. Admin page throws error like Fatal error: Uncaught Error: Failed opening required '/srv/www/vhosts/lending.adm62.ru/html/core/model/modx/modcachemanager.class.php'
… Тогда и с Tickets'ами перестану мучиться.
Всё заменю на др. компоненты.