Zeitreise

Ausgabe

Hier führen Sie noch eine Änderung durch: In die Klasse für den Controller fügen Sie den neuen Extensionnamen ein, sie heißt nun also Tx_Newext_Controller_StartController. Hier das Grundgerüst:
class Tx_Newext_
Controller_StartControllerextends Tx_Extbase_MVC_Controller_ActionController {
public function initializeAction() {
}
public function indexAction() {
//Code für die Standard-Action
}
}

Im nächsten Schritt lohnt ein Blick in den Code der Methode indexAction(). Sie tätigt aktuell vier Ausgaben. Für eine eigene Erweiterung können Sie sich für eine der Varianten entscheiden. Alle Ausgaben erfolgen über das view-Objekt.

Die eigentliche Ausgabe wird dann mit Fluid in einer HTML-Datei gesteuert. Diese Datei finden Sie im Ressources-Verzteichnis und dort unter Private/Templates/Start. Start ist dabei der Name des Controllers. Die Datei selbst heißt nach der Action index.html.Dass hier Fluid am Werke ist, erkennen Sie an den Tags mit dem Namespace f. Das erste Tag <f:layout> verweist direkt auf ein Standardlayout. Dieses Standardlayout findet sich in der Dateistruktur unter Ressources/Private/Layout. Es besteht standardmäßig nur aus einer <h1>-Überschrift, zwei horizontalen Linien und zwei Fluid-Platzhaltern.

Typo3 mit Fluid

© Archiv

Aufbau: Die Erweiterung ist in zwei Hautpverzeichnisse Classes und Ressources unterteilt.

Der erste stellt die Systemmeldungen dar, der zweite den eigentlichen Inhalt in Form eines sogenannten Bereiches. Ein Layout kann mehrere Bereiche haben. Diese Bereiche werden dann im Template für die Action referenziert.

<h1>Ihre neue Erweiterung!</h1><hr /><f:renderFlashMessages class=
"tx-newex-flash-message" /><f:render section="content" />

Nun zurück zur index.html. Dort finden Sie in Fluid zuerst das <f:section>-Tag, das genau auf den Bereich content referenziert. Neue Bereiche fügen Sie hier einfach als weitere <f:section>-Tags hinzu. Sie müssen nur noch darauf achten, dass diese im Layout auch vorhanden sind.

Innerhalb des Bereichs sind dann die Fluid-Platzhalter in geschweiften Klammern eingebunden. Ihren Namen können Sie einfach anpassen und so viele neue definieren, wie Sie möchten. Hier das Beispiel mit leicht angepassten Namen:

<f:layout name="defaultLayout" /><f:section name="content"><p>{platzhalter1}</p><p>{platzhalter2.0} {platzhalter2.1}
{ platzhalter2.2}</p><p>{platzhalter3.wert1}
{platzhalter3.wert2} {platzhalter3.wert3}</p><p>{platzhalter4.title}</p></f:section>

Bei den Platzhaltern erkennen Sie, dass sich die Methode der Anbindung jeweils unterscheidet. Platzhalter 1 wird direkt als String ausgegeben, die anderen drei besitzen jeweils durch einen Punkt getrennt eine zweite Angabe. Was da ausgegeben wird, wird klar, wenn Sie noch mal einen Blick in die indexAction werfen.

Die einfachste Variante ist ein String, der direkt ausgegeben wird. Sie ist hier schon leicht angepasst. Der erste Parameter der Methode assign() für die View ist der Platzhaltername, bei uns also platzhalter1, der zweite ist der String, der angezeigt wird:

$this->view->assign('platzhalter1',
'Ausgabe von Platzhalter 1');

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".