当我们没有在@Template注释中明确指定模板的名称时,Symfony使用了哪个模板?

时间:2015-02-26 11:36:40

标签: symfony templates

class SomeController extends Controller
{
    /**
     * @Route("/", name="root")
     * @Template()
     */
    public function indexAction()
    {
    }

    /**
     * @Route("/{id}", name="id")
     * @Template("SensioBlogBundle:Post:show.html.twig")
     */
    public function themeAction($id)
    {
    }

}

我能理解这个案子:

@Template("SensioBlogBundle:Post:show.html.twig")

但@Template为空时会发生什么?

http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/view.html

我在这里找不到问题的答案。

1 个答案:

答案 0 :(得分:0)

当您未指定模板时,Symfony会自动获取模板

BundleName/Resources/views/Some/index.html.twig

因此,在您的情况下,为您的控制器创建一个文件夹Some,并在您的示例中为文件indexActionName.html.twig创建索引操作,这就是为什么在您的情况下为其“ìndex.html.twig”。