Anzeige
Anzeige
UX & Design

Erweiterung ermöglicht die kontextabhängige Darstellung von Inhalten: Mit TYPO3 in die kontextuelle Zukunft

Der Bedarf, Inhalte für mobile Endgeräte gesondert verwalten und darstellen zu können, steigt zunehmend. Mit der Multichannel-Lösung TYPO3 Contexts lassen sich Inhalte nicht nur je Endgerätetyp, sondern auch über andere Kriterien und Kanäle wie Herkunft, Standort oder Domain steuern.

5 Min.
Artikel merken
Anzeige
Anzeige

Die Anforderungen an mobile Websites lassen sich grundsätzlich in zwei Bereiche unterteilen: in die Darstellung einerseits und die Verwaltung und Auslieferung von Inhalten andererseits. Während für Ersteres inzwischen zuverlässige Technologien – zum Beispiel Responsive Webdesign – existieren, die nicht vom Content Management System oder Shopsystem abhängen, sind die Verwaltung und Auslieferung von Inhalten dagegen direkte Anforderungen an das jeweilige CMS.

Anzeige
Anzeige

Kommt es nicht regelmäßig vor, dass Inhalte abhängig von
verschiedenen Bedingungen aus- beziehungsweise eingeblendet werden
sollten – vom Vorhandensein eines bestimmten GET-Parameters etwa oder
von der geografischen Lage des Besuchers? Redakteure sollten festlegen können, welche Inhalte für welche Geräte und kontextuellen Rahmenbedingungen ausgeliefert werden.

Bestehende Lösungen?

TYPO3 wäre nicht TYPO3, wenn es für die genannten Anforderungen nicht entsprechende Lösungsmöglichkeiten bieten würde. So gibt es auch zwei Ansätze, die sich ohne Extensions realisieren lassen.

Anzeige
Anzeige
Die Erweiterung contexts_wurfl bietet zusätzlich zu den Funktionen der länger nicht gepflegten wurfl2 einen WURFL-Kontexttypen, um die Darstellung von Inhalten auf unterschiedlichen Geräten zu steuern.
Die Erweiterung contexts_wurfl bietet zusätzlich zu den Funktionen der länger nicht gepflegten wurfl2 einen WURFL-Kontexttypen, um die Darstellung von Inhalten auf unterschiedlichen Geräten zu steuern.

Zum einen kann pro Geräteklasse jeweils ein Seitenbaum gepflegt und dem Besucher nach einer Geräteerkennung entsprechend angezeigt werden. Der Vorteil dabei ist, dass sich die Seiten- und Inhaltstruktur sehr individuell auf die Geräteklassen zuschneiden lassen – nachteilig ist allerdings, dass die Inhalte zwangsläufig doppelt gepflegt werden müssen, was entsprechend hohen redaktionellen Aufwand bedeutet.

Anzeige
Anzeige

Zum anderen können Website-Betreiber das Mehrsprachigkeits-Feature von TYPO3 so nutzen, dass die Geräteklassen als Sprachen eingepflegt und die Inhalte entsprechend gesteuert werden. Vorteilhaft an dieser Lösung ist, dass damit auf eine sehr ausgereifte Funktionalität ohne redundante Pflege zurückgegriffen wird. Der Nachteil dabei ist allerdings, dass das Mehrprachigkeits-Feature nicht für diesen kontextuellen Einsatzzweck bestimmt ist – was sich dann rächen kann, wenn man beabsichtigt, mehrere Sprachen einzusetzen.

Jenseits von diesen nativen Lösungsmöglichkeiten gibt es noch eine seit mehreren Jahren nicht mehr gepflegte WURFL-Erweiterung [1], mit der sich die Darstellung mit TypoScript-Bedingungen auf Geräte abstimmen lässt. Des Weiteren können Webmaster die kommerzielle – also kostenpflichtige – Erweiterung t3mobile einsetzen, mit der sich allerdings nur Inhaltselemente und nicht Seiten endgeräteabhängig verwalten lassen. Leider ist sie auf zwei Geräteklassen (Tablet und Smartphone) beschränkt. Eine neue und komplett auf kontextuelle Content-Verwaltung abzielende Lösung für TYPO3 ist mit der neuen Erweiterung Contexts [2] verfügbar, die im Folgenden genauer vorgestellt wird.

Anzeige
Anzeige

Contexts – modular aufgebaut

Im Sinne der Einfachheit und Granularität – und um die Entwicklung in unterschiedliche Richtungen zu ermöglichen – wurden die verschiedenen Features der Contexts-Erweiterung auf mehrere Erweiterungen verteilt. Die Erweiterung Contexts stellt dabei die zentralen Funktionalitäten bereit: die Verwaltung von Kontexten, die Steuerung von Datensätzen anhand von Kontexten und eine API für andere Erweiterungen.

Grundlegend funktioniert Contexts so, dass Kontexte mit verschiedenen Kriterien vom Administrator der Seite angelegt werden, die dann im Reiter „Kontexte” der Datensätze von kontextgesteuerten Tabellen (standardmäßig Seiten und Inhaltselemente) erscheinen. In diesem Reiter lassen sich nun Einstellungen wie die Sichtbarkeit in Abhängigkeit vom Kontext festlegen. Vor der Ausgabe im Frontend werden alle Kontexte überprüft – passen dabei die Kriterien eines oder mehrerer Kontexte auf die Anfrage, werden diese aktiviert und deren Sichtbarkeitsregeln auf die gesteuerten Datensätze angewendet.

Kontexte werden ähnlich Domains als Datensätze in der Wurzelebene der Website angelegt, wobei der Typ eines Kontexts darüber entscheidet, welche Kriterien zur Verfügung stehen und wie sie im Frontend ausgewertet werden. Die möglichen Typen werden über die API von anderen Kontext-Erweiterungen registriert – Contexts selbst bringt bereits die Typen Domain, GET-Parameter, IP und Logische Kontext-Kombination mit. Kontext-Kombinationen ermöglichen es, beliebige Kontexte mittels boolescher Ausdrücke miteinander zu kombinieren und so neue Kontexte auf Basis von Kontext-Kombinationen zu definieren.

Anzeige
Anzeige

Kontextsteuerung im Detail

Die
kontextabhängige Steuerung lässt sich über eine API für beliebige Tabellen realisieren, die über das TCA konfiguriert sind. Dabei können
frei definierbare Einstellungen als Checkbox-Felder festgelegt werden,
die dann für jeden Kontext ein- beziehungsweise ausgeschaltet werden
können – Contexts selbst registriert die Einstellungen „Sichtbarkeit”
und „Sichtbar in Menüs” für Seiten sowie „Sichtbarkeit” für
Inhaltselemente.

Bei der Registrierung der Einstellungen lässt sich definieren, ob man
diese als sogenanntes enableField in die SQL-WHERE-Abfragen über die
TYPO3-API einbeziehen will. In diesem Fall werden Datensätze, die wegen
der aktuellen Kontextkombination deaktiviert sind, gar nicht erst aus
der Datenbank ausgelesen, was beispielsweise bei den
Sichtbarkeitseinstellungen zum Einsatz kommt.

Des Weiteren lässt sich für jede Einstellung festlegen, ob die
Kontexte zusätzlich zur relationalen Einstellungstabelle auch in
entsprechenden Feldern in der Tabelle selbst gespeichert werden sollen,
um Abfragen zu sparen – das Anlegen dieser Felder übernimmt Contexts
automatisch. Um die Einstellungen bereits abgerufener Datensätze zu
prüfen, steht ebenfalls eine API-Methode zur Verfügung, die zum Beispiel
von Contexts für die „Sichtbar in Menüs”-Einstellung in einem
tslib_menu-Hook genutzt wird.

Anzeige
Anzeige

Mobile Kontexte mit contexts_wurfl

Die ursprünglich zentrale Anforderung – Seiten und Seiteninhalte in Abhängigkeit vom Endgerät des Besuchers zu verwalten und ausgeben zu lassen – wurde mit der Contexts-Erweiterung contexts_wurfl umgesetzt. Diese arbeitet mit der WURFL-Datenbank, die Informationen über die Eigenschaften von derzeit über 4.300 mobilen Endgeräten enthält. Neben einem Modul für den Import dieser Datenbank sowie zum Testen von User-Agent-Abfragen stellt contexts_wurfl den Kontext-Typ „Device properties“ bereit, mit dem sich Kriterien für Geräteeigenschaften festlegen lassen. Zusammen mit der Möglichkeit, mehrere Kontexte für verschiedene Anforderungen anzulegen und diese miteinander zu verknüpfen, kann man so die Sichtbarkeit von Inhalten bei beliebigen Endgeräten steuern.

Ortsgebundene Kontexte

Die IP-Adresse eines Nutzers gibt oftmals Auskunft über seinen physischen Standort: Mittels einer Geo-IP-Datenbank lassen sich Geokoordinaten zu einer IP-Adresse bestimmen. Mit contexts_geolocation [3] steht eine Extension zur Verfügung, mit der sich Seiteninhalte anhand der Position des Nutzers anzeigen und verstecken lassen: zum einen auf der Ebene von Kontinenten und Ländern und zum anderen im Umkreis einer beliebigen Position, die sich im Backend bequem auf einer Karte festlegen lässt.

Contexts ermöglicht die Steuerung von Datensätzen in Abhängigkeit spezifischer Kontexte wie Endgerätetyp oder geografischer Lage.
Contexts ermöglicht die Steuerung von Datensätzen in Abhängigkeit spezifischer Kontexte wie Endgerätetyp oder geografischer Lage.

Benutzer innerhalb des festgelegten Areals bekommen dann den Kontext zugewiesen, der die Seiten und Seitenelemente sichtbar macht oder verbirgt. Die Genauigkeit der Nutzerkoordinaten hängt von der jeweiligen Datenbasis ab. Während die freie geoip-Datenbank von Maxmind die meisten IPs auf Großstadt- und Bundeslandebene korrekt auflöst, erhöht die kommerzielle Variante die Genauigkeit deutlich.

Anzeige
Anzeige

Fazit

TYPO3 Contexts [4] erweitert TYPO3 um fehlende Multichannel-Funktionen und ermöglicht, Seiten und Seiteninhalte in Abhängigkeit von verschiedensten Bedingungen wie Endgerät, Browser, Standort und vielem mehr zu steuern. Die Erweiterungen sind frei verfügbar und werden aktiv von Netresearch weiterentwickelt. Mit der API kann die Funktionalität auf beliebige andere Tabellen angewendet werden, sodass nicht nur die Steuerung von Inhalten wie News, Blog-Beiträgen, Adressen und weiteren Inhalten, sondern auch funktionaler Elemente wie User, Templates und Sprachen denkbar ist. Des Weiteren können ebenfalls über die API weitere Kontexttypen und Einstellungen bereitgestellt werden.

Die Erweiterungen stehen im TER und im TYPO3-Forge zur Verfügung und sind mit TYPO3 4.5, 4.6, 4.7, 6.1 und 6.2 kompatibel. Auf einem Demo-System lassen sie sich zudem testen. Sie werden von den Entwicklern, die sich auf über Feedback, Verbesserungsvorschläge und Feature-Wünsche freuen, weiterhin aktiv betreut und ausgebaut.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige