Hallo,
bisher habe ich als Template Engine immer smarty verwendet. Eine "StandaloneView" konnte man dabei immer mit
$smarty->fetch('index.tpl');
erzielen.
Derzeit versuche ich das auch mit Fluid hinzubekommen. Dabei habe ich folgende zwei Möglichkeiten gefunden.
//1 Möglichkeit
$this->view->render()
//2 Möglichkeit
$test = $this->objectManager->create('Tx_Fluid_View_StandaloneView');
$test->setFormat('html');
....
$test->render()
Beides überzeugt mich derzeit noch nicht so richtig. Bei der ersten Möglichkeit ist es (stimmt das?) nicht möglich Variablen an das Template zu übergeben. Bei der zweiten Möglichkeit hat man fast schon einen kompletten Roman geschrieben.
Gibt es keine andere Möglichkeit eine "StandaloneView" zu erzeugen? Oder hab ich das komplett nicht verstanden???
Über kurzes Feedbackl würde ich mich freuen...
Gruß.....
Habe an dieser Stelle auch ein Problem:
Ich würde gerne Fluid in der Standalone Variante nutzen.
Ich berufe mich dabei auf diese beiden Links:
http://snipplr.com/view/54376/use-fluid-standalone/
und
http://www.slideshare.net/plobacher/extreme-fluid-status-quo-der-modernen-templating-engine (dort Seite 22)
Ich arbeite mit Typo3 4.5 und Extbase 1.3.1-devel.
Allerdings funktioniert dies bei mir nicht. Ich erhalte immer ein leeres Ergebnis (also eine weiße Seite). Ich hab mich mal etwas in die Fluid Klassen geworfen.
Wenn ich in der Datei /typo3/sysect/fluid/Classes/View/AbstractTemplateView.php in Zeile 174 folgendes hinzufüge:
$this->getLayoutSource($this->getLayoutNameInTemplate($parsedTemplate)), so kann ich die Rohstruktur meines Templates sehen. Wenige Zeilen darunter wird der Output gesetzt. Dieser ist aber immer leer :-(
Hat da jemand eine Idee wo der Fehler liegen könnte?
Leider kann ich da nichts zur Lösung beitragen. Versuch aber mal folgendes:
http://forge.typo3.org/projects/typo3v4-mvc/wiki/How_to_use_the_Fluid_Standalone_view_to_render_template_based_emails
Damit hat es bei mir funktioniert. Mein eigenes Problem habe ich nun folgendermaßen gelöst:
- Einen Service (FluidStandaloneView) angelegt
- im Controller diese View aufrufen $view = $this->objectManager->get('Tx_TnInfoservice_Domain_Service_FluidStandaloneView');
Was besseres ist mir jetzt nicht eingefallen.....