我一直在嘗試重寫form_row樹枝擴展,所以我可以呈現一個Twitter引導樣式行。 Twitter的自舉表格行看起來應該是這樣:form_row塊this link如下定義樹枝形式主題 - form_label類屬性
<div class="control-group">
<label class="control-label" for="idOfMainInput">Label Name:</label>
<div class="controls">
<input type="text" id="idOfMainInput" name="someDumbName">
</div>
</div>
基礎樹枝DIV風格:
{% block form_row %}
{% spaceless %}
<div>
{{ form_label(form) }}
{{ form_errors(form) }}
{{ form_widget(form) }}
</div>
{% endspaceless %}
{% endblock form_row %}
所以,我的想法是隻把必要的div中,並在必要時使用硬編碼類的條目(即在主div中),但將'attr'值傳遞給form_label,form_errors和form_widget部分。我現在已經取消了form_errors,只是爲了不太深入。下面是我的嘗試:
{% form_theme form _self %}
{% block form_row %}
{% spaceless %}
<div class="control-group">
{{ form_label(form, 'test label name', { 'attr': {'class': 'control-label'} }) }}
<div class="controls">
{{ form_widget(form) }}
{{ form_errors(form) }}
</div>
</div>
{% endspaceless %}
{% endblock form_row %}
,但問題是無論我怎麼努力,該form_label分機沒有使用「控制標籤」作爲我的階級(它應該根據源代碼追加,如果有現有的,如「必需」)。下面是我得到的,當我查看呈現的頁面的源代碼:
<div class="control-group">
<label for="form_rsa_id" class="required">test label name</label>
<div class="controls">
<input type="number" id="form_rsa_id" name="form[rsa_id]" required="required" />
</div>
</div>
正如你所看到的class =「需要」是存在的,是從基本形式對象的屬性拍攝,但它應該是類= 「需要控制標籤」,而不是。
由於文檔(以及源代碼)聲明應該使用「form_label(view,label,variables)」這個表示法,所以在這裏有點遺憾。鏈接到文檔here。
http://stackoverflow.com/questions/11641727/apply-class-to-symfony2-form-label – gatisl