Extbase / Fluid

An dieser Stelle möchte ich meine Erfahrung mit TYPO3 Extbase / Fluid weiter geben. Ich gehe nicht näher auf den FLOW3 Backport ein, da er an diversen anderen Stellen ausreichend beschrieben ist.
Informationsquelle zum Thema.
Dort finden sich u.a. Code Snippets, Tutorials, Video Tutorials, Buchempfehlungen, Änderungen und Neuheiten.
Ich bin an dieser Stelle auch an einem Gedankenaustausch interessiert.

Einfach und doch immer wieder vergessen.

Es ist eine Action erstellt und auch eine passende View existiert dazu. Bei der Anzeige im Frontend erscheint zunächst auch alles wie gewünscht, aber nach dem senden
des Formulars landet man in einer völlig anderen Ansicht (View). oO
Es sollte sich eigentlich eingebrannt haben, aber dennoch fällt man immer wieder darauf herein.
Beim Erstellen der Action auch immer daran denken diese in die ext_localconf.php einzutragen ;)

Die nächste Überraschung kommt dann mit folgender Meldung
#1186669086: An action "fooBarAction" does not exist in controller "Tx_Ext_Controller_FooController".

Beim Erstellen der Action natürlich dran denken diese entsprechend zu benennen und nicht das Suffix "Action" vergessen ;)


View ohne Action

Möglicherweise gibt es hierzu im Kontext des Frameworks eine Standardvariante,
oder es ist schlechtes Programmdesign, oder es ist tatsächlich der übliche Weg (vermutlich lässt sich das aber auch über Fluid abbilden, bzw. steuern).
Ich hatte gleich mehrfach die Anforderung innerhalb einer Prüfung je nach Ausgang eine
andere View aufzurufen ( if then else). Üblich ist, dass die View der Action in der man sich befindet aufgerufen wird.

Eine Variante ist, eine passende Action, bzw. nur den Rumpf anzulegen.
Eine anderer ist, das "ActionName" Feld vom ControllerContext zu überschreiben.

$controllerContext = $this->buildControllerContext();
$controllerContext->getRequest()->setControllerActionName('fooBar');
$this->view->setControllerContext($controllerContext);

Die View, bzw. HTML Datei muss natürlich vorhanden sein, aber es bedarf keiner weiteren Action.

Damit ist es zu mindestens möglich innerhalb einer Action (nach einer Entscheidung) auf unterschiedliche Views zu verweisen