A light-weight shim around Mobile_detect for XenForo 2
The add-on injects the global variable $xf.mobileDetect
, check that the variable is set before calling any methods to prevent errors during upgrades or if the add-on is disabled.
<xf:if is="$xf.mobileDetect && $xf.mobileDetect.isMobile()">
Is Mobile
<xf:else />
Not Mobile
</xf:if>
<xf:if is="$xf.mobileDetect && $xf.mobileDetect.is('Firefox')">
Is Firefox
<xf:else />
Not Firefox
</xf:if>
<xf:if is="$xf.mobileDetect && $xf.mobileDetect.is('Chrome')">
Is Chrome
<xf:else />
Not Chrome
</xf:if>
The PAGE_CONTAINER will have the css classes applied
html.is-mobile {}
html.tablet {}
$mobileDetect = \SV\BrowserDetection\Listener::getMobileDetection();
$isMobile = $mobileDetect && $mobileDetect->isMobile() ? "_m1" : "_m0";
The integration mobile detection with XF2.1+ full-page caching, add to the config.php this;
$config['pageCache']['onSetup'] = function (\XF\PageCache $pageCache) {
$pageCache->setCacheIdGenerator(function(\XF\Http\Request $request) {
return \SV\BrowserDetection\CacheHelper::getPageCacheId($request);
});
};
Add-on licence file: LICENSE.md Mobile-Detect licence file: MobileDetectLicense.md