2014-12-05 2 views
1

Я работаю над проектом Symfony2, в настоящее время пытается вынести мнение на мой контроллер, но раздражающе я постоянно видел это сообщение об ошибке:путь к прутому шаблону в Symfony 2

Unable to find template 

Так мое пониманию есть проблема с частью пути функции рендеринга. Я попытался решить это, но как бы я ни изменил свой путь, я всегда получаю это сообщение.

Полный путь к файлу test.html.twig:

src/Test/NewsInfrastructure/Sitemap/test.html.twig 

Это, как я implemente этот путь:

return $this->templating->renderResponse('src:Test:NewsInfrastructure:Sitemap:test.html.twig', array('sitemap' => $this->siteMap->getSiteMap())); 

Что это то, что я делаю неправильно ...?

+1

Вы должны использовать имя пучка вместо полного пути или использовать косые черты вместо двоеточий. Обозначение двоеточия работает только на Bundles. – Erik

+0

Так что-то вроде этого 'NewsInfrastructure/Sitemap/test.html.twig' ..? Если так, я уже пробовал это, а также не удалось – Tomazi

+0

Каково имя Bundle? Это работает? «TestNewsInfrastructureBundle: Sitemap: test.html» – Erik

ответ

1

TwigBundle (TwigExtension) ищет шаблоны через папку Bundle (ресурсы/виды) или upper levels;

Я думаю, что самый простой способ сделать шаблон, вызвав его пространство имен, например:

$this->render('@Vendor/Product/view.html.twig'); // src/Vendor/MyBundle/Resources/views/Product/view.html.twig 

@Vendor - без суффикса Bundle, а также он работает немного быстрее ..

Или

Это может помочь вам, если вы действительно хотите загрузить шаблон, который находится за пределами папки «Ресурсы»:

$loader = new \Twig_Loader_Filesystem(PATH_TO_DIRECTORY); 
$twig = new \Twig_Environment($loader, array('cache' => false));  
$twig_code = $twig->render('myFile.html.twig', []); 

return new Response($twig_code); 
+0

Его шаблон не находится в папке с ресурсами, также имя пакета не заканчивается 'Bundle'. поэтому ему также может понадобиться сделать это и добавить шаблон в папку «Ресурсы/представления» –

+0

@StrawHat Он должен изменить его, затем – xurshid29

+0

Нужно ли мне иметь файлы twif в разделе Ресурсы/Просмотр ...? и как необходимо сохранить это соглашение об именах: MYbundleBundle ..? – Tomazi