Skip to content
MobileDetect
MobileDetect
Определение типа устройства в MODX и вывод разного контента на одной странице
  1. Компоненты
  2. MobileDetect

MobileDetect

Компонент определяет тип устройства посетителя (desktop, tablet, mobile) и позволяет выводить разный контент на одной странице MODX.

Основан на библиотеке mobiledetect/mobiledetectlib ^4.11 (Detection\MobileDetect).

Возможности

  • Четыре способа вывода: Fenom-модификатор, Fenom-блоки, сниппет, HTML-теги
  • Принудительный режим: GET-параметр ?browser=mobile
  • Cookie: запоминание выбора пользователя
  • Переключатель версий: чанк tplMobileDetectSwitch из пакета
  • PHP API: сервис MobileDetect для плагинов и сниппетов

Системные требования

ТребованиеВерсия
MODX Revolution2.8+ или 3.x
PHP8.2+
pdoToolsопционально; обязателен для Fenom-блоков и модификатора | mobiledetect

Определение строится на User-Agent и HTTP-заголовках. Режим «Desktop site» в мобильном браузере может дать неверный результат.

Установка

  1. Установите пакет через Extras → Installer (modstore.pro, бесплатно)
  2. Убедитесь, что плагин MobileDetect включён (md_disable_plugin = Нет)
  3. Управление → Очистить кэш

После установки доступны:

ЭлементНазначение
Плагин MobileDetectHTML-теги, Fenom, плейсхолдер mobiledetect.device
Сниппет MobileDetectУсловный вывод через :is/:then
Чанк tplMobileDetectSwitchСсылки переключения desktop / tablet / mobile / auto

Библиотека mobiledetectlib уже входит в transport. Запускать composer install на сервере не нужно.

Способы вывода контента

#СпособКогда использовать
1Fenom | mobiledetectЛучший вариант при pdoTools: код в false-ветках не выполняется
2Fenom-блоки {mobile}, {phone}, …Читаемая разметка в Fenom-шаблонах
3Сниппет [[!MobileDetect]]Без Fenom, в любом контексте MODX
4HTML-теги <standard>, <tablet>, <mobile>Кэш-friendly; MODX-теги внутри блоков парсятся до фильтрации

Подробнее: Интеграция.

Быстрые ссылки

РазделОписание
Быстрый стартПервая интеграция за 5 минут
Системные настройкиКлючи md_*
Сниппет MobileDetectПараметр &input
ИнтеграцияFenom, HTML-теги, PHP API
Решение проблемКэш, pdoTools, обновление с 2.0.x

История

Компонент изначально написан Vasily Naumkin как учебный пример на bezumkin.ru. Текущая версия 2.1.0-pl поддерживается в репозитории modx-pro/MobileDetect.