Google Maps für Reiseberichte: TYPO3 Extension

Auf der Georgienseite gibt es knapp 50 Reiseberichte. Viele von diesen sind bestimmten Orten zugeordnet. Um diese in der Webseite darzustellen, sind am Fuß der Webseite Karten von Google Maps eingebaut. Diese werden mit einer eigenen Extension eingebunden.

Warum diese Extension?

Für die Georgienseite gibt es sechs Rubriken mit Reiseberichten aus den Jahren 2001 bis 2013. Pro Jahr gibt es zwischen 5 und 13 Artikel mit Reiseberichten. Für die in den Reiseberichten beschriebenen Orte sollte am Fuß der Seite eine Karte mit Google Maps angebunden werden.

In einem ersten Schritt habe ich die Extensions für Google Maps aus dem TYPO3 Extension Repository (TER) angebunden. Diese stört jedoch das jQuery Modul für den Aufbau von Accordion Menus in der Webseite.

Die Einbindung über reines HTML war der zweite Schritt. Dabei zeigte sich, dass dieselben Daten mehrfach an Berichte angebunden wurden.

Anforderungen an die Extension

Es sollte als eine Extension entstehen, die im Backend die Erstellung von Datensätzen für Karten erlaubt.

Diese Daten sollten

  • den Link 
  • den Namen des Ortes 
  • Höhe (optional) 
  • Breite (optional) 

des Fensters in der Seite darstellen. 

Im Frontend sollte ein Plugin den Link in einem iframe darstellen und diesen mit der angegebenen Größe einbauen. Wenn keine Werte angegeben sind, sollte eine zuvor definierte Standardgröße ausgegeben werden.

Im Backend sollte eine Liste auf einer beliebigen Seite eingebunden werden können, in der die Orte mit den beschriebenen Daten eingegeben werden können. Verschieben, Löschen und Bearbeiten der Daten sollte möglich sein.

Das Resultat

Es ist eine Extension entstanden, die auf der Basis von FlexForms die Arbeit im Backend ermöglicht. Das Anbinden der Daten erfolgt über das Plugin Modul von Typo3 und eine Auswahl aus der Liste der Orte auf der von Benutzer definierten Seite, auf der die Daten eingebunden sind.

Download Referenzliste als PDF

Google Maps bei Reiseberichten

Google Maps: TYPO3 Extension ✔ Typoscript ✔ Extbase und Fluid ✔ Plugin Backend Einbindung ✔ HTML Element Datenbank ✔ Flexforms

Google Maps in den Reiseberichten auf der Georgienseite. Beispiel: Artikel aus dem Jahr 2013 

Google Maps Backend Neuer Datensatz

Referenz Thomas Berscheid TYPO3 Extension Extbase Fluid PHP mySQL objektorientierte Programmierung Google Maps Plugin Agentur IBK Köln HTML CSS jQuery

Über das Listenmodul kann ein neuer Datensatz mit den Daten für die Google Maps auf einer beliebigen Seite eingebunden werden.

Google Maps Backend Liste

Referenz Thomas Berscheid TYPO3 Extension Extbase Fluid PHP mySQL objektorientierte Programmierung Google Maps Plugin Agentur IBK Köln HTML CSS jQuery

Die eingegeben Daten werden im Listenmodul von TYPO3 dargestellt. Die Sortierung der Daten kann in beliebiger Reihenfolge erfolgen. Datensätze können zudem verschoben, kopiert und gelöscht werden.

Google Maps Datensatz

Google Maps Datensatz ✔ TYPO3 Extension ✔ Typoscript ✔ Extbase und Fluid ✔ Plugin Backend Einbindung ✔ HTML Element Datenbank ✔ Flexforms

Die Daten zu einer Karte werden im Backend über ein Modul mit vier Eingabefeldern gepflegt. Ort und Link müssen eingegeben werden. Breite und Höhe des Bildes können optional eingegeben werden.

Google Maps Standard Template

Google Maps Standard Template ✔ TYPO3 Extension ✔ Typoscript ✔ Extbase und Fluid ✔ Plugin Backend Einbindung ✔ HTML Element Datenbank ✔ Flexforms

Die Extension ist in das Standard Template der Webseite eingeschlossen.

Google Maps Einbindung der Extension als Plugin

Google Maps Einbindung TYPO3 Extension als Plugin ✔ Typoscript ✔ Extbase und Fluid ✔ Plugin Backend Einbindung ✔ HTML Element Datenbank ✔ Flexforms

Die Extension wird über das Plugin Modul von TYPO3 in die jeweilige Seite eingebunden.

Google Maps Einbindung Extension

Google Maps Einbindung TYPO3 Extension in Root Template ✔ Typoscript ✔ Extbase und Fluid ✔ Plugin Backend Einbindung ✔ HTML Element Datenbank ✔ Flexforms

Die Erweiterung wird über den Erweiterungsmanager von TYPO3 in das System geladen.