表单 – 有没有办法在symfony2中输入标签?

前端之家收集整理的这篇文章主要介绍了表单 – 有没有办法在symfony2中输入标签?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于symfony2表单组件及其模板的问题:

我有一堆样式的复选框(在一个表格行中大约10个).通常我使用< label>以这种方式标记:< label>< input />一些文字< / label>但我找不到在表单模板中更改它的方法(form_div_layout.html.twig).我甚至找不到一种方法来包装输入小部件及其标签周围的任何标记,我总是最终得到这样的标记:< input /> < some_tag>< label>一些文字< / label>< / some_tag>或< some_tag>< input />< / some_tag> < label>一些文字< / label>至少可以说这不是很有用

谷歌搜索了一下,但找不到答案.

解决方法

我认为这就是你要找的东西:
http://symfony.com/doc/current/book/templating.html#overriding-bundle-templates

您可以通过在app / resources文件夹中创建具有相同名称的另一个文件来覆盖任何默认的树枝模板.

在您的情况下,您想要覆盖form_div_layout.html.twig模板,将其从包中复制到app / Resources / TwigBundle / views / Form / form_div_layout.html.twig,自定义,symfony将使用它而不是默认值.

编辑:一旦你覆盖了模板,你可以修改{%block checkBox_widget%},使用twig vars将输入包装为标签标签

<label{% for attrname,attrvalue in attr %} {{attrname}}="{{attrvalue}}"{% endfor %}>
  {{label|trans }} 
  <input type="checkBox" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} /> 
</label>

您还需要删除’generic_label’定义,这意味着每个其他块都需要修改.

猜你在找的HTML相关文章