TYPO3-Erweiterungen: Was man wissen sollte, bevor man sie baut!

TYPO3 wird mit einer Menge großartiger Funktionen ausgeliefert, aber manchmal müssen Sie Ihrer Website Funktionen hinzufügen - zum Beispiel einen News-Feed, ein Wetter-Widget oder Daten aus Tabellenkalkulationen.

TYPO3-Erweiterungen: Was man wissen sollte, bevor man sie baut!

FYI. This blog is translated by machine. Please ignore any spelling and grammar errors; sorry for such inconvenience. We appreciate your understanding and support.

TYPO3 wird mit einer Menge großartiger Funktionen ausgeliefert, aber manchmal müssen Sie Ihrer Website Funktionen hinzufügen - z. B. einen News-Feed, ein Wetter-Widget oder Daten aus Tabellenkalkulationen. Da jeder TYPO3-Website-Besitzer andere Funktionen benötigt, fügen Sie diese als Erweiterungen hinzu - was die Standardinstallation schlank hält.

Es gibt eine Menge Open-Source-Erweiterungen für TYPO3 CMS gebaut. Aber wenn Sie nicht genau das finden können, was Sie brauchen, können Sie Ihre eigene Erweiterung bauen. Wenn Sie bereit sind, Ihre eigene Extension zu bauen, können Sie die Dokumentation lesen oder unserer praktischen Anleitung zur Erstellung einer Extension im TYPO3 Guidebook folgen: TYPO3 CMS verstehen und nutzen.

Lassen Sie uns mit den Grundlagen beginnen: Was ist eine Erweiterung? Eine Erweiterung ist ein eigenständiger Satz von Dateien, der Ihrer Codebasis Funktionalität hinzufügt. Dies könnte ein Plug-in, ein Backend-Modul, eine Integration eines Drittanbieters usw. bedeuten. Wenn das weit gefasst klingt, dann ist es das auch! Ein Großteil dessen, womit Ihre Besucher auf einer TYPO3-Website interagieren, sind Extensions (oder werden durch sie betrieben).

In TYPO3 werden Extensions vom Core über TYPO3 Extension API-Aufrufe geholt. Sie können
Erweiterungen deaktivieren und aktivieren durch:

  • die Kommandozeile
  • einen Abhängigkeitsmanager wie Composer
  • das Modul Extensions im TYPO3-Backend.

Wenn ein Benutzer Ihre TYPO3-Website besucht, werden nur aktivierte Erweiterungen über die API aufgerufen.

Eine Systemerweiterung ist bereits im Lieferumfang von TYPO3 enthalten. Einige sind erforderlich, damit Ihre Website ordnungsgemäß funktioniert - die "install"-Erweiterung zum Beispiel -, während andere wie der Link-Validator nützliche Funktionen enthalten, die die meisten Website-Besitzer benötigen. Sie müssen diese aktivieren, um die Funktionalität einzuschalten.

Eine von der Gemeinschaft erstellte Erweiterung,

auf der anderen Seite ist eine Erweiterung, die extern entwickelt wurde und nicht standardmäßig in TYPO3 enthalten ist. Diese werden über das TYPO3 Extension Repository (TER) zur Verfügung gestellt und zu den beliebtesten gehören Kalender-Widgets und Grid-Layouts. Sie sind nicht im Core enthalten, weil nicht jedes TYPO3-Projekt sie braucht - und Sie wollen nicht, dass Ihr Web-Projekt mit Dingen belastet wird, die Sie nicht brauchen!

System-Erweiterungen durchlaufen umfangreiche QA und Tests, bevor sie in neue Software-Releases aufgenommen werden. Das TYPO3 Core-Team stellt sicher, dass sie mit dem Rest der Codebasis kompatibel sind. Wenn Sie also eine Systemerweiterung verwenden, können Sie sicher sein, dass sie gründlich geprüft wurde.

Bei Erweiterungen, die von der Community zur Verfügung gestellt werden, variiert der QA-Prozess. Jeder kann im TER veröffentlichen, daher ist es keine schlechte Idee, sich bei der Suche auf populäre Erweiterungen zu konzentrieren, die in mehreren TYPO3-Versionen verfügbar sind. Die Qualität jeder einzelnen Extension hängt davon ab, wie streng sich der Autor der Extension an die Coding-Standards gehalten hat - und viele halten sich sehr gut daran! Hier sind ein paar gute Anzeichen, auf die Sie achten sollten:

  • Die Dokumentation ist umfangreich und übersichtlich
  • Kompatible TYPO3-Versionen sind angegeben
  • Relativ häufige Updates
  • Solide Testabdeckung
  • Unterstützt von einem Unternehmen oder einer angesehenen Organisation

Angenommen, Sie haben die Extensions von TYPO3 durchforstet und finden nicht die spezielle Funktionalität, die Sie suchen. An diesem Punkt entscheiden Sie sich, Ihre eigene Erweiterung zu bauen.

Lassen Sie uns ein Beispiel vorstellen. Vielleicht möchten Sie ein Widget, das die Höhe der Besucher Ihrer Website anzeigt, über oder unter dem Meeresspiegel. Sie suchen "Meereshöhe" in derTER, kann aber nichts finden, also ist es an der Zeit, eine eigene Erweiterung zu bauen. Was sind die nächsten Schritte?

Um Erweiterungen zu erstellen, empfehlen wir... eine Erweiterung zu verwenden! Der Extension Builder ist ein grafischer Editor, der sich um einen großen Teil des Boilerplate-Codes kümmert, der für die Erstellung einer Extension benötigt wird. Die TYPO3-Extension-Entwicklung setzt auf Extbase als Framework und Fluid als PHP-Template-Engine.

Damit der Erweiterungscode korrekt ausgeführt werden kann, benötigen Extbase und Fluid eine bestimmte Verzeichnisstruktur. Wenn Sie mit Extension Builder loslegen, müssen Sie sich darüber keine Gedanken machen, da dieser die korrekte Verzeichnisstruktur für Sie erstellt.

Bevor Sie mit der Erstellung Ihrer Erweiterung beginnen, möchten Sie eine klare Vorstellung von der Funktionalität und den Datenmodellen der Erweiterung haben. Extension Builder verwendet ein domänenorientiertes Design, was bedeutet, dass die Sprache, die Sie verwenden, das Problem widerspiegeln sollte, das Sie für einen Benutzer zu lösen versuchen, sowie den Kontext, in dem er arbeitet.

In der Erweiterung "Meeresspiegel" könnten Sie z. B. Klassen wie:

  • SeaLevel
  • StandortKoordinaten

Und Funktionen wie:

  • getUserLocationCoordinates()
  • velFromLocationCoordinates()

Diese Sprache ist aus der Sicht des Benutzers klar und hilft Ihnen, die relationalen Modelle zwischen den Daten, die Sie von einem Benutzer benötigen, und den Daten, die Sie von einer öffentlichen oder proprietären Datenbank erhalten müssen, zu durchdenken. Die Kenntnis dieser Informationen und das Erstellen eines Plans spart Ihnen beim Erstellen eine Menge Zeit.

Sobald Ihre Erweiterung erstellt und getestet wurde, können Sie sie öffentlich verfügbar machen, indem Sie Ihre Erweiterung im TER veröffentlichen. Dadurch wird sie automatisch als Composer-Paket verfügbar und Ihre Dokumentation wird auf https://docs.typo3.org bereitgestellt. Sie sollten nur wissen, dass, wenn Sie sie hochladen, sie unter der GNU GPL Version 2 oder höher lizenziert sein muss, so dass jeder sie herunterladen und neu veröffentlichen kann, wenn er Änderungen vornimmt. Darüber hinaus können Sie Ihre Erweiterung auf Github oder eine andere Versionskontrollplattform hochladen, wo andere Benutzer Pull-Requests erstellen und Ihre Erweiterung verbessern können.

Wir empfehlen, sicherzustellen, dass Ihre Extension gründlich und klar ist, bevor Sie sie dem Repository hinzufügen. Befolgen Sie die Best Practices, die im TYPO3-Leitfaden "How to Document an Extension" aufgeführt sind, und fügen Sie im Zweifelsfall lieber mehr als weniger Details hinzu. Machen Sie die Dokumentation für Ihre Extension so klar, wie Sie es sich von anderen wünschen!

Da haben Sie es also! Dies war ein grundlegender Überblick darüber, wie Sie eine Extension in TYPO3 erstellen können. Wenn Sie jedoch eine tatsächliche Anleitung wünschen oder die Feinheiten der Extension-Erstellung in TYPO3 besser verstehen wollen, haben wir ein praktisches Handbuch geschrieben. Das Handbuch ist sowohl für Entwickler geeignet, die neu in TYPO3 sind, als auch für solche, die ihre Kenntnisse auffrischen wollen.

Über Erweiterungen hinaus bietet das TYPO3 Guidebook: TYPO3 CMS verstehen und nutzen" enthält praktische Anleitungen für die Installation von TYPO3, den Aufbau von Websites mit Inhaltselementen, die Fehlersuche und -behebung und viele andere häufige Probleme. Es ist auch voll mit Ratschlägen von TYPO3 Core-Entwicklern und Experten, die so nah am Quellcode sind, wie man nur sein kann! Sie werden Ihnen helfen, schnell und effektiv in TYPO3 einzusteigen.

Your One-Stop Solutions for Custom TYPO3 Development

  • A Decade of TYPO3 Industry Experience
  • 350+ Successful TYPO3 Projects
  • 87% Repeat TYPO3 Customers
TYPO3 Service
service

Post a Comment

×
Captcha Code Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren