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.

© 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 lesen

Chronologische Liste und Netflix-Links -

Neuerscheinungen in der Übersicht -

Vorschau auf Film- und Serien-Highlights -

Mehr zum Thema

Webdesign

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.
Facebook

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?
Online-Recht

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.
Online-Recht in der Cloud

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…
E-Commerce-Logistik

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.