Skip to content
  1. Extras
  2. MobileDetect

MobileDetect

The component detects the visitor's device type (desktop, tablet, mobile) and lets you output different content on one MODX page.

Built on mobiledetect/mobiledetectlib ^4.11 (Detection\MobileDetect).

Features

  • Four output methods: Fenom modifier, Fenom blocks, snippet, HTML tags
  • Forced mode: GET parameter ?browser=mobile
  • Cookie: remembers the user's choice
  • Version switcher: tplMobileDetectSwitch chunk from the package
  • PHP API: MobileDetect service for plugins and snippets

Requirements

RequirementVersion
MODX Revolution2.8+ or 3.x
PHP8.2+
pdoToolsoptional; required for Fenom blocks and the | mobiledetect modifier

Detection uses User-Agent and HTTP headers. "Desktop site" mode in a mobile browser may return incorrect results.

Installation

  1. Install via Extras → Installer (modstore.pro, free)
  2. Ensure plugin MobileDetect is enabled (md_disable_plugin = No)
  3. Manage → Clear cache

After install:

ElementPurpose
Plugin MobileDetectHTML tags, Fenom, mobiledetect.device placeholder
Snippet MobileDetectConditional output via :is/:then
Chunk tplMobileDetectSwitchDesktop / tablet / mobile / auto links

The mobiledetectlib library is bundled in transport. Do not run composer install on the server.

Output methods

#MethodWhen to use
1Fenom | mobiledetectBest with pdoTools: code in false branches does not run
2Fenom blocks {mobile}, {phone}, …Readable markup in Fenom templates
3Snippet [[!MobileDetect]]Without Fenom, in any MODX context
4HTML tags <standard>, <tablet>, <mobile>Cache-friendly; MODX tags inside blocks parse before filtering

Details: Integration.

SectionDescription
Quick startFirst integration in 5 minutes
System settingsmd_* keys
MobileDetect snippet&input parameter
IntegrationFenom, HTML tags, PHP API
TroubleshootingCache, pdoTools, upgrade from 2.0.x

History

Originally written by Vasily Naumkin as a tutorial on bezumkin.ru. Current version 2.1.0-pl is maintained at modx-pro/MobileDetect.