Hi,

hier ist ein How-To beschrieben: 
http://forge.typo3.org/projects/typo3v4-mvc/wiki/How_to_use_the_Fluid_Standalone_view_to_render_template_based_emails
 

Viele Grüße

Christopher 


-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Peter 
Linzenkirchner
Gesendet: Freitag, 17. Mai 2013 12:18
An: German TYPO3 Userlist
Betreff: [TYPO3-german] Problem mit Fluid-Renderer in TYPO3 4.7

Hallo, 

ich muss eine Extension, die unter 4.5 lief, unter TYPO3 4.7 zum Laufen 
bringen. Dabei erhalte ich eine Fehlermeldung, die mit Fluid zu tun hat. 

Es geht um das Rendern eines Templates für E-Mailversand in einem Controller. 
Folgende Konstruktion hat unter 4.5 funktioniert: 

$renderer = t3lib_div::makeInstance('Tx_Fluid_View_TemplateView');
$controllerContext = 
t3lib_div::makeInstance('Tx_Extbase_MVC_Controller_ControllerContext');
$controllerContext->setRequest(t3lib_div::makeInstance('Tx_Extbase_MVC_Request'));
$renderer->setControllerContext($controllerContext);

$renderer->assign(... etc ...);
$renderer->setTemplatePathAndFilename(... etc ..)

$renderer->render();

ich erhalte unter 4.7 aber diese Fehlermeldung: 

Fatal error: Call to a member function has() on a non-object in 
typo3_src-4.7.7/typo3/sysext/fluid/Classes/View/AbstractTemplateView.php on 
line 178

Diese Zeile schlägt also fehl in AbstractTemplateView.php

if ($this->templateCompiler->has($templateIdentifier)) {
   ... snip
}

Ursache ist nach der Fehlermeldung, dass $this->templateCompiler kein Objekt 
ist. Demnach muss bei der Initialisierung was schief gehen. Diese Zeilen 
scheinen nicht korrekt ausgeführt zu werden: 

        /**
         * @param Tx_Fluid_Core_Compiler_TemplateCompiler $templateCompiler
         * @return void
         */
        public function 
injectTemplateCompiler(Tx_Fluid_Core_Compiler_TemplateCompiler 
$templateCompiler) {
                $this->templateCompiler = $templateCompiler;
                
$this->templateCompiler->setTemplateCache($GLOBALS['typo3CacheManager']->getCache('fluid_template'));
        }

Ich erkläre mir das jetzt so, dass bei der Instanziierung von 
Tx_Fluid_View_TemplateView in 4.7 was anders laufen muss als in 4.5. Aber ich 
habe keine Ahnung, was das sein könnte. Kann mir jemand auf die Sprünge helfen? 

Vielen Dank
Peter

 


--
Xing: http://www.xing.com/profile/Peter_Linzenkirchner
Web: http://www.typo3-lisardo.de
Facebook: http://tinyurl.com/lisardo-multimedia

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an