我的表单集条目存在问题。
例如我的表单类型。
// ProfileFormType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('emails', 'collection', array(
'type' => new EmailType(),
'allow_add' => true,
'allow_delete' => true
))
;
}
这是上面集合的电子邮件类型。
// EmailType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', 'email')
->add('publicAccess')
;
}
现在是该集合条目行的表单主题。
{%- block _fos_user_profile_form_emails_entry_row %}
<div class="email form-group{% if form.email.vars.errors | length %} has-error{% endif %}">
<div class="input-group col-xs-3">
<span class="input-group-addon">{{ form_widget(form.publicAccess) }}</span>
{{ form_widget(form.email) }}
{#% if loop is defined %}{{ dump(loop) }}{% endif %#}
<span class="input-group-btn"><a class="btn btn-success"><span class="glyphicon glyphicon-plus glyphicon-xs"></span></a></span>
</div>
{{ form_errors(form.email) }}
</div>
{% endblock -%}
但问题是我没有条目的循环或其他东西......
如何检查条目是否是集合的最后一个条目?
原因是我想为所有条目添加“减号”按钮而不是“glypicon-plus”。
答案 0 :(得分:0)
您可以通过以下方式访问最后一个条目:
{% if loop.last %}
{# your custom code for the last entry #}
{% else %}
{# the others entries #}
{% endif %}
所以你可以用它来选择好的按钮:
{%- block _fos_user_profile_form_emails_entry_row %}
<div class="email form-group{% if form.email.vars.errors | length %} has-error{% endif %}">
<div class="input-group col-xs-3">
<span class="input-group-addon">{{ form_widget(form.publicAccess) }}</span>
{{ form_widget(form.email) }}
<span class="input-group-btn"><a class="btn btn-success"><span class="glyphicon {{ (loop.last) ? 'glypicon-plus' : 'glyphicon-minus' }} glyphicon-xs"></span></a></span>
</div>
{{ form_errors(form.email) }}
</div>
{% endblock -%}
答案 1 :(得分:0)
我认为您应该将该条目与父母的最后一个元素进行比较。
像这样:
{% if form == form.parent | last %}
it's the last
{% else %}
it's not the last
{% endif %}