2013-03-05 4 views
30

Ich aktualisiere mein Projekt von Symfony 2.0.22 zu 2.2.0 und überprüfe einige Änderungen, aber ich bin auf diese blockiert:Wie setze ich einen Controller in Twig mit "render" in Symfony 2.2?

Ich möchte (wie in Sf 2.0.X) eine Kopfzeile mit rendern ihr Controller und die "Render" Zweig-Methode funktionieren nicht für mich. Sie ist der Fehler:

Eine Ausnahme während der Wiedergabe einer Vorlage geworfen wurde ("No Route für "GET Index: header"") in "OSSiteBundle: Index: index.html.twig" .

Hier ist die aktuelle Render-Methode:

{# src/OS/SiteBundle/Ressourcen/views/layout.html.twig #}

...

{ render% "OSSiteBundle: Index: header" mit { 'thisid': Block ('thisid'), ...}%}

ich habe versucht:

{{ render('OSSiteBundle:Index:header' , {'thisid' : block('thisid'), 'thistitle' : block('thistitle'), 'thisunderpageid' : block('thisunderpageid'), 'thisbackground' : block('thisbackground') }) }} 

{{ include("OSSiteBundle:Index:header.html.twig", {'thisid' : block('thisid'), 'thistitle' : block('thistitle'), 'thisunderpageid' : block('thisunderpageid'), 'thisbackground' : block('thisbackground') }) }} 

=> Die letzte Arbeit, aber der Controller auf diese Weise

Ich habe sogar versucht, ein Rendern nicht colled mit einem Pfad in routing.yml ... Ich habe keine andere Idee mir bitte helfen !

Antwort

86

In Symfony> = 2.2.x sollten Sie Ihren Controller wie folgt einbetten:

{{ render(controller('AcmeArticleBundle:Article:recentArticles', { 'max': 3 })) }} 

Werfen Sie einen Blick in die Dokumentation:

Creating and using Templates

UPGRADE-2.2

+0

Dank, dass es! Ich würde das Gleiche schreiben! Die Dokumentation Upgrade: https://github.com/symfony/symfony/blob/master/UPGRADE-2.2.md#twigbridge –

+0

Ok, es ist noch einmal danke –

Verwandte Themen