Php Symfony2无法在包内呈现模板

Php Symfony2无法在包内呈现模板,php,symfony,twig,Php,Symfony,Twig,我的结构如下: /src/Product/AdminBundle/Resources/views/main.twig 我正在尝试从控制器渲染此模板: $this->render(...); 或者来自routing.yml index_page: path: / defaults: _controller: FrameworkBundle:Template:template template: ... 如何从捆绑包中的控制器内部渲染此

我的结构如下:

/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/Resources/views/main.twig
  • Product/AdminBundle/Resources/views/main.twig
  • AdminBundle:main.twig
  • AdminBundle/main.twig
试着这样做:

return $this->render('ProductAdminBundle:main.html.twig', []);
其中,
main.html.twig
是您的视图名(而不是main.twig)。

尝试如下:

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

其中,
main.html.twig
是您的视图名(而不是main.twig)。

尝试了所有可能的组合后,这是一个适合我的组合:

@AdminBundle/Resources/views/main.twig

在尝试了所有可能的组合后,这是一个对我有效的组合:

@AdminBundle/Resources/views/main.twig

通常的路径语法是:

BundleName:DirectoryInView:file.html.twig
在您的情况下,这将是:

ProductAdminBundle::main.html.twig

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

通常的路径语法是:

BundleName:DirectoryInView:file.html.twig
在您的情况下,这将是:

ProductAdminBundle::main.html.twig

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

AdminBundle::main.twig不起作用

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


之后,AdminBundle::main.html.twig将工作

AdminBundle::main.twig不工作

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


之后,AdminBundle::main.html.twig将工作

更改了名称,甚至尝试将其添加到目录中以确保。没有更改名称,甚至尝试将其添加到目录中以确保。没用