Forms 如何在Symfony2中添加新的表单布局?

Forms 如何在Symfony2中添加新的表单布局?,forms,symfony,craueformflow,Forms,Symfony,Craueformflow,在我的Symfony2项目中,我注意到只有两个用于呈现表单的布局选项: form\u table\u layout.html.twig 和 form\u div\u layout.html.twig 它们都位于symfony\src\symfony\Bridge\Twig\Resources\views\Form中,我想在我的app\Resources目录中的某个地方添加我自己的一个 我遇到的唯一问题是,当我将新的布局文件(form\u list\u layout.html.twig)添加到ap

在我的Symfony2项目中,我注意到只有两个用于呈现表单的布局选项:

form\u table\u layout.html.twig
form\u div\u layout.html.twig

它们都位于
symfony\src\symfony\Bridge\Twig\Resources\views\Form
中,我想在我的
app\Resources
目录中的某个地方添加我自己的一个

我遇到的唯一问题是,当我将新的布局文件(
form\u list\u layout.html.twig
)添加到
app\Resources\views\form
)中时,Symfony不会查找它,只会查找默认位置(在twig目录中)

我调整了我的
config.yml
,让它包含新的布局,但可能我做错了什么:

twig:
    debug:            %kernel.debug%
    strict_variables: %kernel.debug%
    form:
        resources: ['form_list_layout.html.twig']
编辑:好的,我现在已经让Symfony2在正确的位置查找,但是它似乎对表单的渲染没有任何影响(我将表格布局文件的内容复制到我的新列表布局文件中以测试理论,而我的表单仍然使用
标记进行渲染。这可能是由于我正在使用的
CraueFormFlowBundle
造成的,所以我将检查它)

正在工作的
config.yml

 twig:
    debug:            %kernel.debug%
    strict_variables: %kernel.debug%
    form:
        resources:
            - ":Form:form_list_layout.html.twig"
编辑2:看起来它与
CraueFormFlowBundle
没有任何关系,我的配置中是否有任何东西可能导致它忽略全局表单布局


编辑:实际上,它正在工作。只要我更改了布局文件以包含列表元素而不是表格布局内容,它看起来就正常了。

要正确覆盖表单布局或添加新的表单布局,请将该文件放在
app/Resources/views/form
目录中,然后将
config.yml
调整为类似以下内容。。。

twig:
    debug:            %kernel.debug%
    strict_variables: %kernel.debug%
    form:
        resources:
            - ":Form:form_list_layout.html.twig"

您不必将其放入
应用程序
子文件夹;您可以将其放入任意捆绑包中。例如,在我的例子中,我已将其放入
CommonBundle/Resources/views/Form/fields.html.twig
中,并在
config.yml
文件中按如下所示激活它

twig:
    form:
        resources: [ 'CommonBundle:Form:fields.html.twig' ]
当然,如果将其放入
app
子文件夹中,只需省略bundle name部分:

twig:
    form:
        resources: [ ':Form:fields.html.twig' ]

你想把你的答案添加为答案,而不是仅仅编辑问题。完成后,它一开始不起作用,因此我从未将其添加为答案。干杯,我接受了你的答案,因为它提供了更多的细节