Hallo! Ich möchte, wie der Titel schon sagt, ein kompiliertes Template in eine Datei schreiben. Dazu ist ja die fetch() Methode von smarty gedacht, nur leider funktioniert diese nicht, meine $output Variable bleibt leer. Hier ein kleiner Codeausschnitt. Gehe ich in der Annahme richtig, dass $view ein smarty-Objekt ist? Was mache ich falsch? public function onPostDispatchFrontend(Enlight\_Event\_EventArgs $arguments) { $controller = $arguments-\>getSubject(); $view = $controller-\>View(); $view-\>addTemplateDir($this-\>Path().'Views/'); $view-\>extendsTemplate('pfad/detei.tpl'); $view-\>assign('var', 'wert'); $output = $view-\>fetch('pfad/detei.tpl'); }
Offensichtlich liegt es am Pfad, den ich der fetch() Methode mitgebe, denn mit einem absoluten Pfad zu einer Testdatei hat es funktioniert: $view-\>fetch('file:D:/test.tpl');
Offensichtlich benötigt die Methode also nicht den gleichen Parameter, wie extendsTemplate(). Hat jemand nen Tipp?
Oder deine Datei heißt datei.tpl und nicht detei.tpl? Sent from my iPad using Tapatalk
Da habe ich mich vertippt, im Code heißen die Dateien ohnehin alle anders. Ich habe das Problem allerdings gerade selbst gelöst, der Inhalt der .tpl Datei war in einem {block}{/block} Tag. Offensichtlich gibt er diesen so nicht über die fetch() Methode raus.