ALLES ÜBER go_mobilecontentfilter UND WIE ES AUF WEBSITES EINGESETZT WIRD
Untersuchte Extension
go_mobilecontentfilter
go_mobilecontentfilter
Diese Erweiterung ermöglicht einen Mechanismus, der es ermöglicht, Inhalte (Seiten und Inhaltselemente) basierend auf dem Gerät, das auf die Website zugreift, zu filtern.
Diese Erweiterung setzt voraus, dass golib_devicedetection installiert ist!
Wichtige Terminologie
- Das Domänengerät ist das Gerät, für das die Seite gerade gerendert wird. Dies ist nicht immer das gleiche wie das Gerät, das der Benutzer benutzt! Wenn man beispielsweise die mobile Version einer Website mit einem Desktop-Browser besucht, ist das Domänengerät
mobil
, während das aktuelle Gerät des Benutzers derDesktop
ist.
Konfiguration
Die Konfiguration erfolgt über eine TypoScript-Datei namens ext_ts_mobilecontentfilter.ts
, die sich im Ordner "typo3conf/ext/go_tsconfig" befinden muss. Eine exemplarische Konfiguration finden Sie in der Unit-Testsuite unter Tests/fixtures/valid.ts
.
Der Plugin-Namensraum (plugin.tx_gomobilecontentfilter
) ist obligatorisch. Alle Optionen innerhalb des Namensraums sind case-sensitive. Die folgenden Optionen stehen zur Verfügung:
enabled_devices
TODO: Aktualisierung des alten Abschnitts
Gibt an, für welche Geräte die Filterung aktiviert werden soll. Die Vorrichtungen werden als device_name = 0/1
angegeben, wobei die Nummer angibt, ob die Vorrichtung standardmäßig (1) aktiviert werden soll oder nicht. Der Gerätename ist derjenige, mit dem die Geräteerkennungsklasse in der Erweiterung golib_devicedetection
(die Gerätekennung) registriert wurde. Siehe golib_devicedetection/lib/devices/
oder die README-Datei für weitere Informationen.
Beachten Sie, dass, wenn ein Gerät standardmäßig nicht aktiviert ist, alle Seiten, die nicht manuell für dieses Gerät aktiviert sind, ausgeblendet werden, ebenso wie Inhaltselemente!
Wie funktioniert es?
Die Erweiterung generiert automatisch Templavoila-Rendertypen (deutscher Link) basierend auf der Konfiguration der Erweiterung, insbesondere den aktivierten Geräten. Für jedes dieser aktivierten Geräte müssen benutzerdefinierte Templavoila-Vorlagenobjekte (TOs) zu den Templavoila-Datenstrukturen (DS) hinzugefügt werden, wie im obigen Link gezeigt.
Die Erweiterung generiert auch Typoscript PAGE-Konfigurationen für alle aktivierten Geräte und konfiguriert sie so, dass sie ihre jeweiligen Vorlagenobjekte anzeigen. Informationen darüber, wie diese PAGE-Objekte abhängig vom Zugriffsgerät aktiviert werden, finden Sie im Abschnitt "Routing".
Basis-URLs
Wenn Sie diese Erweiterung konfigurieren, müssen Sie jedem konfigurierten Gerät (Sub-)Domänen zuordnen. Diese Domänen müssen keine separat konfigurierte baseURL
haben, da go_mobilecontentfilter
abhängig von der aktuell aktiven Domäne automatisch die richtige baseURL
einstellt. Die einzige Ausnahme ist das Standardgerät (d.h. Ihre normale Website), das immer noch eine konfigurierte baseURL
benötigt.
Routing
Wann immer ein Benutzer auf die Website zugreift, überprüft die Erweiterung, zu welcher Gerätegruppe der Benutzer gehört, und greift auf die als "Standard" konfigurierte zurück, falls kein Gerät übereinstimmen sollte.
Jedes Gerät muss mit mindestens einer Domäne sowie einer ihr zugeordneten Typennummer (TYPO3 typeNum) konfiguriert sein. Der TYPO3-Typ
_GET-Parameter wird je nachdem, welche Domain gerade aktiv ist, automatisch gesetzt und stellt so automatisch das richtige Layout für die Domain dar. Zum Beispiel:
enabled_devices {
desktop {
domains {
1 = gosign.de
}
umleitung = 0
standard = 1
}
mobile {
domains {
1 = m.gosign.de
}
umleitung = 1
standard = 0
typeNum = 6
}
}
In Anbetracht der bisherigen Konfiguration würde der Zugriff auf gosign.de
keine spezielle Typnummer festlegen, da sie als Standardgerät konfiguriert ist. Der Zugriff auf m.gosign.de
würde automatisch die Typennummer 6 setzen.
Gehört das erkannte Gerät nicht zur aktuellen Domäne (z.B. greift der Benutzer über ein mobiles Gerät auf gosign.de
zu), kann der Benutzer auf die jeweilige Geräteversion (in diesem Fall m.gosign.de
) umgeleitet werden, wenn der Parameter redirect
in der Konfiguration angegeben ist.
Version eines anderen Gerätes anzeigen (Emulations-Cookie)
CAVEAT: Das Emulations-Cookie funktioniert nicht domänenübergreifend!
Wenn man z.B. einem Benutzer die Desktop-Version einer Website anzeigen möchte, ohne dass der Benutzer ständig auf die mobile Version umgeleitet wird, kann der folgende Parameter _GET verwendet werden:
?emulate_device=desktop
Dadurch wird ein Session-Cookie erstellt (d.h. eines, das abläuft, wenn das Browserfenster geschlossen wird), das das System anweist, den aktuellen Gerätetyp zu ignorieren und das im Parameter _GET angegebene zu verwenden. Der Rückwärtsbetrieb (d.h. die Stopp-Emulation einer Vorrichtung) kann wie folgt erreicht werden:
?stop_emulate_device=true
Dieses Cookie wird intern als "Emulations-Cookie" bezeichnet, da es für die eingestellte Zeit ein anderes Gerät emuliert. Seine Erstellung/Vernichtung wird in der Methode tx_gomobilecontentfilter_router::processEmulationCookie
verwaltet.
Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.

