TYPO3 Plugin:

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 der Desktop 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.