2016-12-04 1 views
4

Ich habe ein neues Bundle erstellt, in dem Zweigdateien enthalten sein sollen. Standardmäßig gibt es bereits eine Zweigdatei, die von der Befehlszeile zum Generieren des Pakets hinzugefügt wurde (in src/TestBundle/Resources/views/test.html.twig). Es besteht auch der Render-Befehl automatisch in index hinzugefügt:Symfony sucht nicht im Bundle nach Zweigdateien

return $this->render('TestBundle:test.html.twig', $data);

Aber wenn ich den index nennen, erhalte ich eine Vorlage nicht Fehler gefunden, und der Fehler sagt, dass symfony sah nur in

/app/Resources/views, 
/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form 

aber nicht in /src/TestBundle/...

Warum symfony die Bundle-Ressourcen nicht ignorieren? Und wie könnte ich das ändern?

+0

sehr seltsam. Ist das Testbundle in der Appkernel-Klasse registriert? – Matteo

+0

ja es ist, und ich habe bereits Dienste usw. in diesem Bundle, aber kein Zweig noch – Asara

Antwort

0

Sie dürfen das Unterordner-Trennzeichen nicht entfernen.

Wenn eine Vorlage lebt bei

TestBundle/Ressourcen/views/

Tun Sie dies

return $this->render('TestBundle::test.html.twig', $data); 

Wenn eine Vorlage lebt in einem Unterordner wie

TestBundle/Ressourcen/vie ws/Ordner/

verwenden

return $this->render('TestBundle:Folder:test.html.twig', $data); 

You can read the doc here.

+0

so Sie meinen :: statt:? Funktioniert auch nicht, es ist der gleiche Fehler und es sah immer noch nicht in den Bundle-Ressourcen – Asara

4

hatte ich das gleiche Problem mit Symfony 3.3, und schließlich, durch Versuch und Irrtum, entdeckt, dass Sie verwenden haben @ gefolgt von der Bundle-Name, ABER das Wort "Bundle" aus dem Namespace weglassen. So ...

@MyFabulousUserBundle/Email/reset_password.html.twig 

... hat nicht funktioniert, aber:

@MyFabulousUser/Email/reset_password.html.twig 

tat!

Verwandte Themen