• Heim
  • TYPO3 Extbase und Fluid für TYPO3 v12 meistern: Best Practices

TYPO3 Extbase und Fluid für TYPO3 v12 meistern: Best Practices

Um die Entwicklung von Erweiterungen in TYPO3 optimal zu gestalten, benötigen Sie fundierte Best Practices. Hallo TYPO3-Fans! In dieser umfassenden Schritt-für-Schritt-Anleitung führen wir Sie durch TYPO3 Extbase und Fluid und erläutern die grundlegenden Prinzipien und Vorgehensweisen für die Erstellung robuster und wartungsfreundlicher Erweiterungen. Am Ende erhalten Sie einen klaren Plan für die Implementierung dieser Best Practices in TYPO3 Version 12.

Bevor wir uns dem Hauptteil zuwenden, frischen wir unsere Grundlagen auf.

Was ist TYPO3 Extbase? Was ist TYPO3 Fluid?

TYPO3 Extbase und Fluid sind zwei integrale Komponenten des TYPO3 CMS (Content Management System), die eine moderne und effiziente Entwicklung von Webanwendungen ermöglichen. Hier finden Sie einen kurzen Überblick über die beiden Komponenten:

TYPO3 Extbase

Extbase ist eine PHP-Framework-Erweiterung für TYPO3, die der Model-View-Controller (MVC)-Architektur folgt. Sie bietet einen strukturierten und objektorientierten Ansatz für die Erstellung von TYPO3-Erweiterungen. Zu den wichtigsten Funktionen von Extbase gehören:

MVC Magic:

  • Modelle: Daten verarbeiten
  • Ansichten: Daten anzeigen
  • Controller: Benutzerbefehle verarbeiten

Domänengesteuertes Design (DDD):

  • Klare Domänenmodelle
  • Gemeinsame Sprache für Entwickler und Fachexperten

Abhängigkeitsinjektion (DI):

  • Flexibler, modularer Code
  • Fördert Testbarkeit
  • Datenbank-Tanz mit Repositories:
  • Repository-Muster für reibungslose Datenbankoperationen

TYPO3 Fluid

Fluid ist die Template-Engine von TYPO3 zur Darstellung der HTML-Ausgabe. Sie ist in Extbase integriert, um dynamische und flexible Ansichten zu erstellen. Zu den wichtigsten Funktionen von Fluid gehören:

Freundliche Syntax:

  • HTML-ähnlich für einfache Lesbarkeit
  • Einfache Zusammenarbeit zwischen Entwicklern und Designern

Vorlagenvererbung:

  • Basisvorlage gibt den Ton an
  • Untervorlagen erweitern oder überschreiben Abschnitte

Dynamischer Inhalt:

  • Ausdrücke und Bedingungen für dynamische Vorlagen
  • Visuelle Spielwiese für kreative Inhalte

ViewHelpers:

  • Erweitern Sie Fluid mit benutzerdefinierten ViewHelpern
  • Kleine, wiederverwendbare Komponenten für zusätzliche Funktionalität

Wie funktionieren TYPO3 Extbase und Fluid im Team?

Extbase übernimmt die Backend-Logik und die Datenverarbeitung, während Fluid das Frontend und die HTML-Ausgabe übernimmt. Wie bei einer Choreografie – Extbase führt, Fluid folgt.

Und sorgt für funktionale und optisch ansprechende TYPO3-Anwendungen.

So nutzen Sie TYPO3 Extbase und Fluid für die Entwicklung von TYPO3-Erweiterungen

Schritt 1: Eine übersichtliche TYPO3-Ordnerstruktur erstellen

Eine gut organisierte Ordnerstruktur ist die Grundlage für eine wartungsfreundliche Erweiterung. Organisieren Sie die Ordner Ihrer Erweiterung in den Verzeichnissen „Klassen“ und „Ressourcen“.

  • plaintext
  • Classes/
  • Controller/
  • Domain/
  • Repository/
  • Resources/
  • Private/
  • Templates/
  • Partials/
  • Layouts/

Diese strukturierte Hierarchie sorgt für Übersichtlichkeit und vereinfacht die Zusammenarbeit zwischen Entwicklern.

Schritt 2: TYPO3 Extbase-Modelle nutzen

Extbase-Modelle spielen eine wichtige Rolle bei der Darstellung der Datenstruktur Ihrer Erweiterung. Erstellen Sie zunächst eine Modellklasse und ein entsprechendes Repository:

php

// Classes/Domain/Model/YourModel.php

class YourModel extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

  // Your model properties

}

// Classes/Domain/Repository/YourModelRepository.php

class YourModelRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {

  // Your repository methods

}

Extbase-Modelle bieten eine logische Darstellung der Daten Ihrer Erweiterung und fördern einen strukturierten Entwicklungsansatz.

Schritt 3: Implementierung von TYPO3 Fluid – der Template-Engine

TYPO3 Fluid, die Template-Engine von TYPO3, bietet eine flexible und intuitive Syntax. Entwickeln Sie klare und prägnante Fluid-Vorlagen für Ihre Erweiterung:

```fluid

<!-- Resources/Private/Templates/YourModel/List.html -->

<f:layout name="Default" />

<f:section name="content">

  <h1>List of Your Models</h1>

  <f:for each="{yourModels}" as="yourModel">

    <p>{yourModel.property}</p>

  </f:for>

</f:section>

TYPO3 Fluid Templates gewährleisten die Trennung von Aufgaben und verbessern die Lesbarkeit. Damit sind sie ein leistungsstarkes Werkzeug für das Frontend-Rendering.

Schritt 4: Nutzen Sie TYPO3 Dependency Injection (DI)

Dependency Injection (DI) ermöglicht lose Kopplung und fördert modularen und testbaren Code. Fügen Sie Abhängigkeiten ein, anstatt sie im Controller fest zu codieren:

```php

// Classes/Controller/YourController.php

class YourController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

  /**

   * @var YourModelRepository

   * @inject

   */

  protected $yourModelRepository;

 

  // Your controller actions

}

```

Durch den Einsatz von DI wird Ihr Code flexibler und wartungsfreundlicher und fördert einen modularen Entwicklungsansatz.

Schritt 5: TCA (Table Configuration Array) konfigurieren

Das Table Configuration Array (TCA) ist für die Konfiguration der Tabellen Ihrer Erweiterung unerlässlich. Konfigurieren Sie TCA korrekt, um die Kompatibilität mit den Kernfunktionen von TYPO3 sicherzustellen:

```php

// Configuration/TCA/YourModel.php

return [

  'ctrl' => [

    'title' => 'Your Model',

    'label' => 'property',

  ],

  'columns' => [

    'property' => [

      'label' => 'Your Property',

      'config' => [

        'type' => 'input',

      ],

    ],

  ],

];

```

Ein gut konfigurierter TCA ist entscheidend für die nahtlose Integration mit dem TYPO3-Backend und seinen verschiedenen Funktionen.

Schritt 6: Tada! Endergebnis erhalten

Setzen wir nun all diese Best Practices in die Tat um. Folgen Sie diesen Schritten, um das Endergebnis zu sehen:

 

1. TYPO3 Version 12 herunterladen:

2. Erweiterung erstellen:

  • Richten Sie Ihre Erweiterungsordner und -dateien wie oben beschrieben ein.

3. TYPO3 Extension Builder installieren:

  • Installieren Sie den Extension Builder in TYPO3, um die Entwicklung von Erweiterungen zu vereinfachen.

4. Erweiterung erstellen und installieren:

  • Definieren Sie mit dem Extension Builder Ihre Modelle, Controller und Vorlagen. Erstellen Sie Ihre Erweiterung und installieren Sie sie in TYPO3.

5. Seiten und Inhaltselemente erstellen:

  • Erstellen Sie im TYPO3-Backend Seiten und fügen Sie mithilfe der Funktionen Ihrer Erweiterung Inhaltselemente hinzu.

6. Ergebnis anzeigen:

  • Navigieren Sie zu Ihrem TYPO3-Frontend, um das Endergebnis zu sehen. Ihre Erweiterung sollte nun eine Liste Ihrer Modelle mit der angegebenen Eigenschaft anzeigen.

Und fertig!

Herzlichen Glückwunsch! Sie haben die Best Practices für TYPO3 Extbase und Fluid erfolgreich durchlaufen. Diese Schritte gewährleisten nicht nur eine saubere und wartungsfreundliche Codebasis, sondern auch eine nahtlose Integration mit TYPO3 Version 12. 

Unser TYPO3-Expertenteam unterstützt Sie gerne bei Ihrer weiteren TYPO3-Erfahrung. Bei Problemen oder Fragen zur Erweiterungsentwicklung kontaktieren Sie uns gerne. Profitieren Sie von einer gut entwickelten TYPO3-Erweiterung, die den Best Practices der Branche entspricht.