Forms 如何在Symfony2中添加新的表单布局?
在我的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
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' ]
你想把你的答案添加为答案,而不是仅仅编辑问题。完成后,它一开始不起作用,因此我从未将其添加为答案。干杯,我接受了你的答案,因为它提供了更多的细节