我用的是symfony 5. 4。
我有一个捆绑包位于我的供应商文件夹,工作正常。
我已经创建了一个LiveTwigComponent。
当模板文件"network_list. html. twig"位于我的"templates/components"文件夹时,它可以完美地工作。由于逻辑属于我的Bundle,我尝试将其移动到"src/Resources/views/components"文件夹。如果我这样做,我会收到一个错误:"找不到模板" components/network_list. html. twig "在我的模板中,我这样调用组件
{{ component('network_list') }}
我尝试使用bundle名称空间作为前缀,因为它适用于我的bundle中的其他模板
{{ component('@MyFooBarBundle\\network_list') }}
以及
{{ component('@MyFooBarBundle\\components\\network_list') }}
但也不起作用,我收到另一条错误消息
呈现模板期间引发异常("未知组件"@MyFooBarBundle\components\network_list"。注册的组件为:网络列表")。
我怀疑我可能需要为twig添加一个config行来告诉bundle查看我的bundle子文件夹,但我没有找到任何相关文档。
我做错了什么?
先谢了
2条答案
按热度按时间eit6fx6z1#
默认路径位于
config/packages/twig.yaml
中,如果您希望更改默认路径,可以在此处进行更改。如果您希望添加多个位置,可以通过将它们添加到“paths”部分并定义文件类型来完成。下面的代码应该适用于您的用例:6tqwzwtp2#
您可以自定义用于呈现组件的模板,方法是将其作为第二个参数传递给AsTwigComponent属性: