
- MODX 2
- MODX 3
- PHP 8.2


Типичные проблемы MobileDetect и способы устранения.
Проверьте:
md_disable_plugin = Нет<standard>, <mobile> в выводе страницы (после парсинга MODX), событие OnWebPagePrerender срабатываетpdoToolsOnFenomInit)?browser=detect или очистите cookie browserВозможные причины:
{mobile}, {desktop} регистрируются только на pdoToolsOnFenomInitmd_disable_plugin = Да{mobile} не показывается на desktop; {desktop} не показывается на телефонеChrome и Safari могут отправлять desktop User-Agent. MobileDetect смотрит на UA и заголовки: результат будет standard.
Решение: принудительный режим ?browser=mobile или переключатель tplMobileDetectSwitch.
Cookie не пишется:
headers_sent());md_use_cookie = Нет.Проверьте настройки cookie MODX: session_cookie_path, session_cookie_domain, session_cookie_secure.
[[!MobileDetect]], не [[MobileDetect]]&input должен совпадать с текущим типом: standard, tablet, mobile?browser=detectОжидаемое поведение. Плагин фильтрует HTML после парсинга MODX. Сниппеты в скрытых блоках уже отработали.
Используйте Fenom-модификатор {if 'mobile' | mobiledetect} или Fenom-блоки.
| Изменение | Действие |
|---|---|
| PHP 8.2+ | Обновите PHP на хостинге |
| Класс детектора | Detection\MobileDetect вместо \Mobile_Detect |
| API сервиса | resolveDevice(), getDeviceType(), isMobile(), isTablet(), isDesktop() |
| Fenom | Исправлены блоки и утечка памяти при повторной регистрации |
Кастомный код с $md->getDetector() обновите под mobiledetectlib 4.x.
На modstore.pro может быть опубликована 2.0.2-pl, а документация описывает 2.1.0-pl из GitHub. Фичи 2.1.0 (модификатор Fenom, tplMobileDetectSwitch, PHP API) доступны после установки актуального transport.
Нет. vendor/ входит в transport-пакет.
Да. Transport собирается для MODX 2.8+ и 3.x.
mobile? Нет. MobileDetect фильтрует контент на странице, без редиректа и без второго контекста.
Отдельной настройки нет. При md_disable_plugin = Да отключается весь плагин. HTML-теги просто не используйте в разметке.