web-dev-qa-db-fra.com

Comment insérer un contrôleur dans Twig avec "render" dans Symfony 2.2?

Je mets à niveau mon projet de Symfony 2.0.22 vers 2.2.0 et j'examine certains changements, mais je suis bloqué sur ce point:

Je voudrais rendre (comme dans Sf 2.0.X) un en-tête avec leur contrôleur et la méthode "render" twig ne fonctionne pas pour moi. Leur est l'erreur:

Une exception a été levée lors du rendu d'un modèle ("Aucune route trouvée pour" GET Index: header "") dans "OSSiteBundle: Index: index.html.twig".

Voici la méthode de rendu réelle:

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

...

{% affiche "OSSiteBundle: Index: header" avec {'thisid': block ('thisid'), ...}%}

J'ai essayé :

{{ 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') }) }}

=> Le dernier fonctionne mais le contrôleur n'est pas collé de cette façon

J'ai même essayé un rendu avec un chemin dans routing.yml ... Je n'ai pas d'autre idée de m'aider s'il vous plait!

33
Benji_X80

Dans Symfony> = 2.2.x, vous devez intégrer votre contrôleur comme ceci:

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

Jetez un œil à la documentation:

Création et utilisation de modèles

PGRADE-2.2

87
Juan Sosa