bugbuster / contao-mobiledetection-bundle
Contao 4 helper class for detecting mobile phones and tablets (device type). A Hook adds a CSS class in the body tag.
Installs: 9 383
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 1
Type:contao-bundle
Requires
- php: ^7.2 || ^8.0
- contao/core-bundle: ~4.4
- mobiledetect/mobiledetectlib: ^2.8
Requires (Dev)
- contao/manager-plugin: ^2.0
Conflicts
- contao/manager-plugin: <2.0 || >=3.0
This package is auto-updated.
Last update: 2024-04-23 07:49:30 UTC
README
About
Contao 4 Bundle "Mobile-Detection", based on "http://mobiledetect.net/"
Helperclasses for developer. Demo frontend module is present.
Installation
With Contao Manager
- Search for bugbuster/contao-mobiledetection-bundle
- Composer loads additionally "mobiledetect/mobiledetectlib" version 2.*
With Composer
composer require bugbuster/contao-mobiledetection-bundle
- Composer loads additionally "mobiledetect/mobiledetectlib" version 2.*
Hooks help!
A Hook add a special class to page css class (in body tag):
- phone : mobile device, but no tablet
- tablet : mobile device and a tablet
- computer : no mobile device, no tablet
Examples
Galaxy S II (Phone)
<body id="top" class="android safari webkit sf4 mobile phone">
Motorola Xoom (Tablet)
<body id="top" class="android safari webkit sf3 mobile tablet">
Linux Mint PC (Computer)
<body id="top" class="unix firefox gecko fx18 computer">
Usage the Classes
You have two options:
- You're using the original class (Detection\MobileDetect).
- You're using the wrapper class (BugBuster\MobileDetection\Mobile_Detection).
Mobile_Detect (original class)
Composer version (with a namespace of the original class)
use Detection\MobileDetect; $detect = new MobileDetect(); // Check for any mobile device. if ($detect->isMobile()) // Check for any tablet. if($detect->isTablet()) // Check for any mobile device, excluding tablets. if ($detect->isMobile() && !$detect->isTablet())
For the full list of available methods check the directory .
Mobile_Detection (wrapper class)
use BugBuster\MobileDetection\Mobile_Detection; ... $this->Mobile_Detection = new Mobile_Detection(); // Check device type echo $this->Mobile_Detection->getDeviceType(); // phone|tablet|computer // Check for any mobile device. if ($this->Mobile_Detection->isMobile()) // Check for any tablet. if ($this->Mobile_Detection->isTablet()) // Check mobile grade echo $this->Mobile_Detection->getMobileGrade(); // A|B|C // Check mobile rules $arrRules = $this->Mobile_Detection->getMobileRules(); // result e.g. array('SamsungTablet','AndroidOS','Safari')
See demo module "MobileDetectionDemo".