我的表单中有一个集合小部件。这显示如下:
团队0 player1 inputfield
1 player2 inputfield
我不想显示'团队'这个词,'0'和'1'。 我在fields.html.twig模板中有这个块,但不确定如何编辑它。
{% block collection_widget %}
{% spaceless %}
{% if prototype is defined %}
{% set attr = attr|merge({'data-prototype': form_row(prototype) }) %}
{% endif %}
{{ block('form_widget') }}
{% endspaceless %}
{% endblock collection_widget %}
{% block form_label %}
{% spaceless %}
<div class="hidden">
{{ block('generic_label') }}
</div>
{% endspaceless %}
{% endblock form_label %}
ChallengeType表单:
class ChallengeType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('teams', 'collection', array(
'type' => new TeamType(),
'allow_add' => true
))
->add('place')
->add('date');
}
public function getName()
{
return 'challenge';
}
public function getDefaultOptions(array $options)
{
return array('data_class' => 'Tennisconnect\DashboardBundle\Entity\Challenge');
}
}
THX。
答案 0 :(得分:5)
这些标签是在form_label
块中创建的。我通常将它们包装在div中,并在需要时将它们隐藏起来。
修改
有一个更好的解决方案:)。
使用以下
更改collection
的{{1}}部分
ChallengeType.php
现在这些不需要的标签会有->add('teams', 'collection', array(
'type' => new TeamType(),
//label for Teams text
'attr' => array('class' => 'team-collection'),
//label for each team form type
'options' => array(
'attr' => array('class' => 'team-collection')
),
'allow_add' => true
))
类。在您的css文件中,您可以为team-collection
设置display:none
。无需更改表单主题块定义。