我一直试图覆盖form_row Twig扩展,以便我可以呈现Twitter Bootstrap样式行.twitter boostrap表格行应该如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
基本树枝div样式form_row块在此链接中定义如下:
{% block form_row %}
{% spaceless %}
<div>
{{ form_label(form) }}
{{ form_errors(form) }}
{{ form_widget(form) }}
</div>
{% endspaceless %}
{% endblock form_row %}
Run Code Online (Sandbox Code Playgroud)
所以,我的想法只是将必要的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 %}
Run Code Online (Sandbox Code Playgroud)
但问题是,无论我尝试什么,form_label扩展都没有使用"control-label"作为我的类(并且它应该根据源代码附加它,如果有现有的,如"required").这是我查看呈现页面的来源时得到的结果:
<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>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,class ="required"就在那里,取自基本表单对象属性,但它应该是class ="required control-label",而不是.
有点亏本,因为文档(以及来源)声明应该使用符号"form_label(view,label,variables)".链接到这里的文档.
| 归档时间: |
|
| 查看次数: |
13056 次 |
| 最近记录: |