Symfony2无法在Bundle中呈现模板

时间:2015-11-26 12:46:48

标签: php symfony twig

我有以下结构:

/src/Product/AdminBundle/Resources/views/main.twig

我正在尝试从控制器渲染此模板:

$this->render(...);

或来自routing.yml

index_page:
    path: /
    defaults:
         _controller: FrameworkBundle:Template:template
         template: ...

如何从捆绑包中的控制器内部渲染?以下是我没有运气的尝试:

  • 产品:AdminBundle:main.twig
  • ProductAdminBundle:main.twig
  • @ProductAdminBundle:main.twig
  • @ ProductAdminBundle / main.twig
  • ProductAdminBundle / main.twig
  • ProductAdminBundle /资源/视图/ main.twig
  • 产品/ AdminBundle /资源/视图/ main.twig
  • AdminBundle:main.twig
  • AdminBundle / main.twig

4 个答案:

答案 0 :(得分:4)

通常的路径语法是:

BundleName:DirectoryInView:file.html.twig

在您的情况下,这将是:

ProductAdminBundle::main.html.twig

我们使用::,因为您的视图位于根目录中。

答案 1 :(得分:1)

在尝试了所有可能的组合后,这对我有用:

@AdminBundle/Resources/views/main.twig

答案 2 :(得分:0)

试试这样:

return $this->render('ProductAdminBundle:main.html.twig', []);

main.html.twig是您的视图名称(而不是main.twig)。

答案 3 :(得分:0)

AdminBundle :: main.twig不起作用

将main.twig重命名为main.html.twig

之后AdminBundle :: main.html.twig将起作用!