Joomla Browsererkennung

10

Können wir einen gründlichen Frage / Antwort-Beitrag mit den Kernmethoden erstellen, die die Browsererkennung in Joomla 2.5 und 3 ermöglichen? Nach einer kurzen Recherche im Internet habe ich das Gefühl, dass auf einer einzelnen Seite nicht genügend Informationen vorhanden sind, um das Thema zu erfüllen.

FFrewin
quelle

Antworten:

14

Ein gründlicherer Durchgang sollte wirklich zum Dokument-Wiki IMO hinzugefügt werden, aber teilen, was ich jetzt über das Handy kann.

Aus Gründen der Kompatibilität mit 2.5 und 3.x können Sie JBrowser verwenden, um eine Browsererkennung durchzuführen. Diese Klasse funktioniert jedoch möglicherweise nicht gut mit neueren Browsern oder Versionen. So verwenden Sie es, um den Browser zu erhalten:

$browser = JBrowser::getInstance()->getBrowser();

Ab Version 3.2 können Sie JApplicationWebClient verwenden, eine neuere Klasse, die mit den heutigen Browseroptionen flexibler gestaltet wurde. So verwenden Sie es, um den Browser zu erhalten:

$client = JFactory::getApplication()->client->browser;

Beide Klassen sind auf der API-Site dokumentiert. Http://api.joomla.org/cms-3/index.html verlinkt Sie zur Basisseite für 3.3-Dokumente.

Michael
quelle
3
Ich würde nicht verwenden JBrowser, insbesondere wenn Sie überprüfen möchten, ob das Gerät mobil ist oder nicht oder welche Art. Es ist wirklich fehlerhaft.
Valentin Despa
9

Zusätzlich zu Michaels Antwort verfügt die JApplicationWebClient-Klasse über einige weitere nützliche Eigenschaften:

$client = JFactory::getApplication()->client;

$client->browser;
// The detected browser used by the web client (returns an integer)

$client->browserVersion;
// The detected browser version used by the web client. (string)

$client->mobile;
// True if the web client is a mobile device (Boolean)

$client->platform;
// The detected platform on which the web client runs (integer)

$client->userAgent;
//The web client's user agent string. (string)

$client->robot;
// True if the web client is a robot (Boolean)

JApplicationWebClient-Klassen-API-Dokumentation

FFrewin
quelle