Agentfilter: Unterschied zwischen den Versionen
Aus Contao Community Documentation
(→Filtern von Inhaltselementen) |
K (Aufbereitung) |
||
(3 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
Zeile 16: | Zeile 16: | ||
Webbrowser übertragen ihre Identität in Header-Zeilen bei http-Anfragen (Requests) an den Server. Eine Beschreibung hierzu findet sich in RFC 1945. Diese Zeichenkette, häufig auch User Agent genannt, beinhaltet z.B. den Namen des Webbrowsers, das Betriebssystem, auf dem der Webbrowser eingesetzt wird und einiges mehr. | Webbrowser übertragen ihre Identität in Header-Zeilen bei http-Anfragen (Requests) an den Server. Eine Beschreibung hierzu findet sich in RFC 1945. Diese Zeichenkette, häufig auch User Agent genannt, beinhaltet z.B. den Namen des Webbrowsers, das Betriebssystem, auf dem der Webbrowser eingesetzt wird und einiges mehr. | ||
+ | Beispiele für User Agents sind z.B. | ||
− | AgentFilter erlaubt es | + | <pre> |
+ | Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) | ||
+ | Mozilla/5.0 (iPhone; U; XXXXX like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A477d Safari/419.3 | ||
+ | Mozilla/5.0 (Windows NT 6.1; U; ru; rv:5.0.1.6) Gecko/20110501 Firefox/5.0.1 Firefox/5.0.1 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | AgentFilter erlaubt es, eine Teilzeichenkette innerhalb des User Agent zu suchen und abhängig von diesem Ergebnis ein Inhaltselement anzuzeigen oder zu verstecken. | ||
Damit lassen sich dann z.B. Betriebssystem-abhängige Inhalte oder Downloads anzeigen. | Damit lassen sich dann z.B. Betriebssystem-abhängige Inhalte oder Downloads anzeigen. | ||
Zeile 24: | Zeile 32: | ||
=== Filtern von Inhaltselementen === | === Filtern von Inhaltselementen === | ||
− | + | Im Feld '''User agent Suche''' gibt man einen einfachen Suchbegriff an, nach dem gesucht werden soll. Der Suchbegriff wird als regulärer Ausdruck ausgewertet. Einfache Suchbegriffe werden dabei nicht kontextsensitiv behandelt, d.h. es wird nicht zwischen Groß-/Kleinschreibung unterschieden. Bei regulären Ausdrücken wird die in der PHP-Funktion preg_match bekannte Notation verwendet. Im hier angegebenen Beispiel ist die Suche erfolgreich, wenn der User Agent entweder ipad, iphone oder ipod beinhaltet. | |
[[Datei:agentfilter_content.png|center|frame|User Agent Filter für Content-Elemente]] | [[Datei:agentfilter_content.png|center|frame|User Agent Filter für Content-Elemente]] | ||
− | Im Feld '''Aktion''' | + | Im Feld '''Aktion''' legt man fest, was passieren soll, wenn die Suche im User Agent erfolgreich verlief. Im obigen Beispiel würde also das Inhaltselement nicht auf iPhones, iPads oder iPod Touches angezeigt werden. |
+ | |||
+ | === Filtern von Seitenlayouts === | ||
+ | |||
+ | In den Experteneinstellungen eines Seitenlayouts kann man ebenfalls im Feld '''User agent Suche''' einen Suchbegriff eingeben. Für den Fall, dass der Suchbegriff gefunden wird, hat man die Möglichkeit, ein Seitentemplate seiner Wahl statt des regulären Seitentemplates zu verwenden. | ||
+ | |||
+ | [[Datei:agentfilter_layout.png|center|frame|User Agent Filter für Seitenlayouts]] | ||
+ | |||
+ | Diese Möglichkeit kann interessant sein, wenn sich ein bestimmtes User Agent spezifisches Verhalten nicht durch ein- oder ausblenden von Inhalten erreichen lässt. Im vorliegenden Beispiel wird z.B. ganz gezielt ein Seitentemplate für Mobile Endgeräte statt eines regulären Seitentemplates verwendet. | ||
=== Lizenz === | === Lizenz === |
Aktuelle Version vom 27. August 2011, 20:49 Uhr
Inhaltselemente abhängig vom User Agent anzeigen.
Erweiterungs-Übersicht | |
---|---|
Name des Entwicklers | Helmut Schottmüller (hschottm) |
Entwickler Webseite | http://www.aurealis.de |
Version der Erweiterung | 1.1.0 |
Kompatibilität mit Contao Version | 2.9.0 - 2.10.0 |
Link zum Extension Repository | http://www.contao.org/erweiterungsliste/view/agentfilter.de.html |
Den Entwickler unterstützen | http://aurealis.de/spenden.html |
Inhaltsverzeichnis
AgentFilter
Webbrowser übertragen ihre Identität in Header-Zeilen bei http-Anfragen (Requests) an den Server. Eine Beschreibung hierzu findet sich in RFC 1945. Diese Zeichenkette, häufig auch User Agent genannt, beinhaltet z.B. den Namen des Webbrowsers, das Betriebssystem, auf dem der Webbrowser eingesetzt wird und einiges mehr. Beispiele für User Agents sind z.B.
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) Mozilla/5.0 (iPhone; U; XXXXX like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A477d Safari/419.3 Mozilla/5.0 (Windows NT 6.1; U; ru; rv:5.0.1.6) Gecko/20110501 Firefox/5.0.1 Firefox/5.0.1
AgentFilter erlaubt es, eine Teilzeichenkette innerhalb des User Agent zu suchen und abhängig von diesem Ergebnis ein Inhaltselement anzuzeigen oder zu verstecken.
Damit lassen sich dann z.B. Betriebssystem-abhängige Inhalte oder Downloads anzeigen. Zusätzlich ist es möglich, in einem Seiten-Layout nach einem bestimmten User Agent zu suchen und für diesen ein benutzerdefiniertes Seitentemplate zu verwenden.
Filtern von Inhaltselementen
Im Feld User agent Suche gibt man einen einfachen Suchbegriff an, nach dem gesucht werden soll. Der Suchbegriff wird als regulärer Ausdruck ausgewertet. Einfache Suchbegriffe werden dabei nicht kontextsensitiv behandelt, d.h. es wird nicht zwischen Groß-/Kleinschreibung unterschieden. Bei regulären Ausdrücken wird die in der PHP-Funktion preg_match bekannte Notation verwendet. Im hier angegebenen Beispiel ist die Suche erfolgreich, wenn der User Agent entweder ipad, iphone oder ipod beinhaltet.
Im Feld Aktion legt man fest, was passieren soll, wenn die Suche im User Agent erfolgreich verlief. Im obigen Beispiel würde also das Inhaltselement nicht auf iPhones, iPads oder iPod Touches angezeigt werden.
Filtern von Seitenlayouts
In den Experteneinstellungen eines Seitenlayouts kann man ebenfalls im Feld User agent Suche einen Suchbegriff eingeben. Für den Fall, dass der Suchbegriff gefunden wird, hat man die Möglichkeit, ein Seitentemplate seiner Wahl statt des regulären Seitentemplates zu verwenden.
Diese Möglichkeit kann interessant sein, wenn sich ein bestimmtes User Agent spezifisches Verhalten nicht durch ein- oder ausblenden von Inhalten erreichen lässt. Im vorliegenden Beispiel wird z.B. ganz gezielt ein Seitentemplate für Mobile Endgeräte statt eines regulären Seitentemplates verwendet.
Lizenz
AgentFilter steht unter der LGPL-Lizenz
--Hschottm 17:58, 13. Aug. 2011 (CEST)