Differences

This shows you the differences between two versions of the page.

deutsch:andere-erweiterungen:tools:user-agent [2012/02/24 00:15]
Knut Heermann (flip-flop)
deutsch:andere-erweiterungen:tools:user-agent [2018/06/03 18:09] (current)
Line 3: Line 3:
Seit der Release r429 können im Template mit IF Statements entsprechend der Ausgabe des User-Agenten Unterscheidungen getroffen werden. Seit der Release r429 können im Template mit IF Statements entsprechend der Ausgabe des User-Agenten Unterscheidungen getroffen werden.
 +ACHTUNG: Es wird empfohlen in diesem Zusammenhang (mindestens) die r452 zu verwenden da einige Unklarheiten bis dorthin beseitigt wurden.
-Hier stelle ich eine kleines Testscript vor mit dem es möglich ist, die Werte des User-Agenten und die daraus resultierenden Ergebnisse aus den verschiedenen  ##%%<!--if:XXXX-->Do that<!--/if-->%%## Abfragen darzustellen.+Hier wird eine kleines Testscript vorgestellt, mit dem es möglich ist die Werte des User-Agenten und die daraus resultierenden Ergebnisse aus den verschiedenen  ##%%<!--if:XXXX-->Do that<!--/if-->%%## Abfragen darzustellen.
-Hierzu wird die unten gezeigte php-Datei im Verzeichnis /frontend_render/.. installiert. +Hierzu wird die unten gezeigte php-Datei im Verzeichnis %%/frontend_render/..%% installiert.
Die Ansteuerung übernimmt der TAG **{IF-UAG}** oder **{IF-UAG:X:Y}** wobei X den Abstand vom linken -und Y den Abstand vom oberen Browserrand für die Ausgabe angeben. \\ Die Ansteuerung übernimmt der TAG **{IF-UAG}** oder **{IF-UAG:X:Y}** wobei X den Abstand vom linken -und Y den Abstand vom oberen Browserrand für die Ausgabe angeben. \\
Line 17: Line 18:
Der TAG sollte möglichst am Anfang oder am Ende außerhalb des äußeren div-Containers platziert werden. Der TAG sollte möglichst am Anfang oder am Ende außerhalb des äußeren div-Containers platziert werden.
-Die php-Datei kann im Bereich der IF-Abfragen nach eigenen Vorstellungen angepasst werden. In dieser ersten Übersicht sind alle möglichen IF Abfragen mit einfachen Werten enthalten. Die Negierungen sind nicht eingepflegt. +Die php-Datei kann im Bereich der IF-Abfragen nach eigenen Vorstellungen angepasst werden. In dieser ersten Übersicht sind alle möglichen IF Abfragen mit einfachen Werten enthalten. Die negierten Abfragen sind nicht eingepflegt.
\\ \\
Line 34: Line 35:
-**%%<!--if:XXXX-->....<!--/if-->%%** oder die Nagation: **%%<!--!if:XXXX-->....<!--/!if-->%%**+**%%<!--if:XXXX-->....<!--/if-->%%** oder die Negation: **%%<!--!if:XXXX-->....<!--/!if-->%%**
Line 57: Line 58:
<code html> <code html>
<!--if:device:Default-->    - Device Default<br>    <!--/if--> <!--if:device:Default-->    - Device Default<br>    <!--/if-->
-<!--if:device:Smartphonet-->- Device Smartphone<br> <!--/if-->+<!--if:device:Smartphone--> - Device Smartphone<br> <!--/if-->
<!--if:device:Tablet-->     - Device Tablet<br>     <!--/if--> <!--if:device:Tablet-->     - Device Tablet<br>     <!--/if-->
<!--if:device:Desktop-->    - Device Desktop<br>    <!--/if--> <!--if:device:Desktop-->    - Device Desktop<br>    <!--/if-->
Line 105: Line 106:
=== Tablets: === === Tablets: ===
 +**Seit der Version 1.5 (R452) wird tablet nicht mehr als "mobile" ausgegeben.**
 +
{{ :deutsch:andere-erweiterungen:tools:uag_android-tablet_1.gif|}} {{ :deutsch:andere-erweiterungen:tools:uag_android-tablet_1.gif|}}
{{:deutsch:andere-erweiterungen:tools:uag_ios-tablet_1.gif|}} {{:deutsch:andere-erweiterungen:tools:uag_ios-tablet_1.gif|}}
Line 298: Line 301:
\\ \\
 +
 +\\
 +
 +====== Extrahieren der OS Version von iOS ======
 +
 +==== Version 1.0 ====
 +
 +
 +Verwendung innerhalb des CMS z.B.:
 +
 +  <!--if:platform:iOS_V3-->iOS Version3<!--/if-->
 +  <!--if:platform:iOS_V4-->iOS Version4<!--/if-->
 +
 +\\
 +**Einfaches Script:** abgeleitet von -> [[http://stackoverflow.com/questions/7768324/detect-ios-version-with-php|Detect iOS version with PHP]]
 +
 +**Datei:** template/inc_script/**frontend_init**/rt_iOS_OS_user_agent.php
 +
 +<code php |h rt_iOS_OS_user_agent.php |h>
 +<?php
 +/*
 +*******************************************************************
 +* 08.11.2012 KH: Extract the OS from the User-Agent for iOS devices
 +*
 +* This solution can be queried with the built in if statements. -> iOS_V4, iOS_V5, iOS_V6
 +*
 +* In CMS e.g.:
 +* <!--if:platform:iOS_V3-->iOS Version3<!--/if-->
 +* <!--if:platform:iOS_V4-->iOS Version4<!--/if-->
 +*
 +* File: template/inc_script/frontend_init/rt_iOS_OS_user_agent.php
 +*
 +********************************************************************/
 +
 +// -------------------------------------------------------------------------------------------
 +// obligate check for phpwcms constants
 +if (!defined('PHPWCMS_ROOT')) {die("You Cannot Access This Script Directly, Have a Nice Day.");}
 +// -------------------------------------------------------------------------------------------
 +
 +// Example USER-AGENT iOS
 +// --------------------------------------------------------
 +// Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
 +// Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
 +// --------------------------------------------------------
 +
 +if ($GLOBALS['phpwcms']['USER_AGENT']['platform'] == 'iOS') {
 +  
 +    $os_vers = preg_replace("/(.*) OS ([0-9]*)_(.*)/","$2", $_SERVER['HTTP_USER_AGENT']);
 +    $GLOBALS['phpwcms']['USER_AGENT']['platform'] = $GLOBALS['phpwcms']['USER_AGENT']['platform'].'_V'.$os_vers;
 +}
 +
 +?>
 +
 +</code>
 +\\
 +An die Ausgabe der Plattform wird einfach die iOS-Version angehängt, bei einem Smartphone oder Tablet unter iOS 5 wird z.B. aus **iOS** -> **iOS_V5**.
 +
 +Bitte prüfen beim iPod und älteren iOS-Versionen.
 +
 +\\
 +
 +==== Version 1.1 ====
 +
 +Es wird gegen iOS-Versionen größer 5 geprüft.
 +
 +Verwendung innerhalb des CMS z.B.:
 +
 +  <!--if:platform:iOS-->iOS Version x - 5<!--/if-->
 +  <!--if:platform:iOS_V6-->iOS Version6<!--/if-->
 +
 +\\
 +**Einfaches Script:** abgeleitet von -> [[http://stackoverflow.com/questions/7768324/detect-ios-version-with-php|Detect iOS version with PHP]]
 +
 +**Datei:** template/inc_script/**frontend_init**/rt_iOS_OS_user_agent.php
 +
 +<code php |h rt_iOS_OS_user_agent.php |h>
 +<?php
 +/*
 +*******************************************************************
 +* 08.11.2012 KH: Extract the OS from the User-Agent for iOS devices
 +* V1.1
 +* This solution can be queried with the built in if statements. -> iOS, iOS_V6
 +*Enhanced V1.1: Only if iOS V6 is used, the if statement is extended.
 +*
 +*
 +* In CMS e.g.:
 +* <!--if:platform:iOS-->iOS Version x - 5<!--/if-->
 +* <!--if:platform:iOS_V6-->iOS Version6<!--/if-->
 +*
 +* File: template/inc_script/frontend_init/rt_iOS_OS_user_agent.php
 +*
 +********************************************************************/
 + 
 +// -------------------------------------------------------------------------------------------
 +// obligate check for phpwcms constants
 +if (!defined('PHPWCMS_ROOT')) {die("You Cannot Access This Script Directly, Have a Nice Day.");}
 +// -------------------------------------------------------------------------------------------
 + 
 +// Example USER-AGENT iOS
 +// --------------------------------------------------------
 +// Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
 +// Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
 +// --------------------------------------------------------
 + 
 +if ($GLOBALS['phpwcms']['USER_AGENT']['platform'] == 'iOS') {
 + 
 +    $os_vers = preg_replace("/(.*) OS ([0-9]*)_(.*)/","$2", $_SERVER['HTTP_USER_AGENT']);
 +    
 +    if (((int) $os_vers) == $os_vers) // Integer ?
 +        if ($os_vers > 5)
 +            $GLOBALS['phpwcms']['USER_AGENT']['platform'] .= '_V6';
 +}
 +
 +?>
 +
 +</code>
 +\\
 +An die Ausgabe der Plattform wird bei Verwendung von iOS6 einfach _V6 angehängt (**iOS** -> **iOS_V6**). Alle tieferen iOS-Versionen haben keinen Einfluss.
 +
 +Bitte prüfen beim iPod und älteren iOS-Versionen.
 +
 +\\
 +
deutsch/andere-erweiterungen/tools/user-agent.1330038936.txt.gz · Last modified: 2018/06/03 18:07 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0