bugbuster/mobiledetection

Contao helper class for detecting mobile phones and tablets (device type). A Hook adds a CSS class in the body tag.

3.5.0 2014-10-27 23:19 UTC

This package is auto-updated.

Last update: 2024-12-23 10:28:56 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

About

Contao 3 Module "Mobile-Detection", based on "http://mobiledetect.net/"

Helperclasses for developer. Demo frontend module is present.

Installation

Manually

Over Composer

  • Search for bugbuster/mobiledetection, version >= 3.5
  • 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 (MobileDetection\Mobile_Detection).

Mobile_Detect (original class)

ER2 version (without a namespace of the original class)

include '<path>/Mobile_Detect.php';

$detect = new Mobile_Detect();

Continue as described in the next section.

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)

$this->import('\MobileDetection\Mobile_Detection','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".