5
我试图在symfony2中使用Twig自定义窗体布局。我的目标,以使无线输入,看起来像这样...Symfony2:防止无线窗口小部件呈现标签
<label class=" required">Label name</label>
<span class="form-radio">
<input type="radio" name="album_has_subalbums_1" /> Yes
</span>
<span class="form-radio">
<input type="radio" name="album_has_subalbums_0" /> No
</span>
我在自定义表单的主题覆盖了radio_widget
块如下
{% block radio_widget %}
{% spaceless %}
<span class='form-radio'>
<input type="radio" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
</span>
{% endspaceless %}
{% endblock radio_widget %}
然而,这使得下面的标记:
<label class=" required">Label name</label>
<span class="form-radio">
<input type="radio" id="album_has_subalbums_1" name="album[has_subalbums]" required="required" value="1">
</span>
<label for="album_has_subalbums_1" class=" required">Yes</label>
<span class="form-radio">
<input type="radio" id="album_has_subalbums_0" name="album[has_subalbums]" required="required" value="0">
</span>
<label for="album_has_subalbums_0" class=" required">No</label>
基本上,对于每个无线电输入元件其创建标签,以确定它的值是否为是或否。我与预先存在的d工作设计,所以我不能轻松调整HTML标记。
如何防止无线电输入生成选择文本作为标签?我知道它在内部调用field_label
块,但正如你所看到的我的radio_widget
没有提及它,所以我有点失去了如何防止这种行为。
编辑:
要清楚,我想同一种结构,作为我的第一个例子......我已经离开了名称和值的属性等,但很明显,它只是用于演示目的。
+1真棒,明天我会给出这个答案 – JamesHalsall
'child.get('label')'不适合我,而'child.vars.label'。 –