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

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…
News
Video
SciFi-Action mit Ryan Gosling und Harrison Ford
Video
Agatha-Christie-Verfilmung mit Johnny Depp