无法找到模板 - 将资源从AppBundle移动到app文件夹

时间:2015-06-03 14:28:15

标签: symfony

我将Resources / twig模板从AppBundle移动到app文件夹,现在我得到了:

Unable to find template "ItemBundle:Category:index.html.twig".

我已经更改了控制器注释中的路由,但是我在哪里可以更改index.html.twig的默认行为,因为总是想要查看Bundle,但是没有Bundle了,它只是app文件夹。

/**
     * Lists all Category entities.
     *
     * @Route("/", name="category")
     * @Method("GET")
     * @Template(":Category:index.html.twig")
     */

我不想改变所有@Template - 只需解释一下,所有内容现在都在app文件夹下,而不是普通的CRUD方式。对于正常的CRUD方式,我不需要记下每个@Template在哪里找到树枝模板。

1 个答案:

答案 0 :(得分:9)

我认为您误解了这些模板引用的解析方式。 Here's the relevant documentation

当您使用类似ItemBundle:Category:index.html.twig的内容时,这意味着Symfony会尝试在两个地方找到该模板,按此顺序

  1. 应用程序/资源/的 ItemBundle /视图/ <强>分类 / <强> index.html.twig
  2. 的src /的 ItemBundle /资源/视图/ <强>分类 / <强> index.html.twig
  3. 所以这取决于你将移动到的位置。例如,假设您将此一个twig文件移动到 app / Resources / views / Category / index.html.twig 。记下这与上面的#1有什么不同 - 模板不再在bundle目录中 - 只是根视图目录的子目录。

    因此,正确的引用是::Category/index.html.twig