Artikel

Dynamische Erstellung eines TYPO3-Seitenbaums aus externen Datenbanken: 10.000 Seiten in 15 Minuten

TYPO3 ist ein flexibles Framework für die Erstellung von Websites, die von einem oder mehreren Editoren gepflegt werden. In vielen Fällen existieren die Daten bereits in einer externen Datenbank. Mit der Extension „ml_dbsync“ können sie in der Datenbank verbleiben und direkt genutzt werden, um einen Seitenbaum und Content-Elemente zu erzeugen. Auf diese Weise ist es möglich, tausende von Seiten in kürzester Zeit zu erstellen.

Oft sind die Daten für eine Website bereits vorhanden, liegen in einer Datenbank vor und müssen für den Einsatz auf der Website lediglich gefiltert und minimal bearbeitet werden. Die Idee liegt also auf der Hand, Teile des Seitenbaums und verschiedene Content-Elemente automatisch zu generieren. Die Extension „ml_dbsync“ kann diese Aufgabe übernehmen und die Selektion und Transformation erledigen. Es gibt drei mögliche Einsatzszenarien für „ml_dbsync“:

  1. Einmaliger Import: Ist dann interessant, wenn zum Beispiel eine bestehende Website zu TYPO3 migriert und anschließend nur noch in TYPO3 bearbeitet werden soll.
  2. Manueller Import zu unregelmäßigen Zeitpunkten: Ist sinnvoll, wenn zwar eine externe Datenbank genutzt wird, die Webdaten aber nur zu nicht fest definierten Zeitpunkten aktualisiert werden müssen.
  3. Regelmäßige Synchronisation: Existiert zum Beispiel eine externe Produktdatenbank, die stets auf dem aktuellen Stand gehalten wird, kann sie durch regelmäßige Synchronisation als Datenquelle für den Produktbereich genutzt werden.

Die Arbeitsweise der Extension „ml_dbsync“ basiert auf den folgenden fünf Grundideen:

  1. Usability: Dynamisch erstellte Seiten und Content-Elemente müssen vom Benutzer schnell und einfach als solche erkannt werden.
  2. Sicherheit: Die Daten der externen Datenbank müssen in eine eigene Tabelle in TYPO3 kopiert werden. Dadurch ist für die externe Tabelle nur ein Lese-Zugriff notwendig und sensible Daten müssen nicht auf dem Webserver gespeichert werden.
  3. Flexibilität: Ein Benutzer muss in der Lage sein, dynamisch erzeugte Seiten und Content-Elemente zu bearbeiten oder zu löschen. Dies ist insbesondere dann wichtig, wenn die Inhalte als Einmal-Import verwendet werden.
  4. Integrität: Um die Datenintegrität zu gewährleisten, müssen die Daten der externen Datenbank stets Priorität haben. Das heißt, wenn ein Benutzer ein dynamisch erstelltes Content-Element ändert, muss es bei der nächsten Synchronisation trotzdem mit den Daten von der externen Datenbank überschrieben werden.
  5. Konsistenz: Die erstellten Seiten und Content-Elemente müssen auch nach wiederholter Synchronisation immer die gleiche ID erhalten. Das ist notwendig, damit zum Beispiel Links auf dynamisch erstellte Seiten weiterhin und nach jeder späteren Synchronisation funktionieren.

Die Funktionsweise von „ml_dbsync“ im Beispiel

Zur Veranschaulichung der Funktionsweise dient hier die Website der fiktiven Werkzeugfirma „Binford“. Die Website besteht aus den zwei Bereichen „The Company“ und „The Tools“. Aber nur der Bereich „The Tools“ soll dynamisch erzeugt werden. Dort werden die Seiten mit den Kategorien erzeugt und darunter die jeweiligen Werkzeugseiten mit allen Inhalten.

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

Schreib den ersten Kommentar!

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