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.

1.0.2 2021-01-22 22:39 UTC

This package is auto-updated.

Last update: 2021-09-23 00:03:45 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Codacy Badge

About

Contao 4 Bundle "Mobile-Detection", based on "http://mobiledetect.net/"

Helperclasses for developer. Demo frontend module is present.

Installation

With Contao Manager

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 examples.

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".