Reputation: 315
I'm working on some form collections from the cookbook, however I have this label that appears and I'm trying to remove this without any luck.
I don't see the code below listed in my forms.
How can I remove this label?
The highlighted in blue label 'Clientphones' is what I'm trying to remove:
This is the label in page info:
ClientPhone form
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('home', 'text');
$builder->add('office', 'text');
$builder->add('mobile', 'text');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Acme\DemoBundle\Entity\ClientPhone',
));
}
public function getName()
{
return 'ClientPhone';
}
Client form
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('firstName', 'text', array(
'label' => 'First Name'
))
->add('lastName', 'text', array(
'label' => 'Last Name'
))
->add('email', 'text', array(
'label' => 'E-mail Address'
))
->add('clientphones', 'collection', array(
'type' => new ClientPhoneType(),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
));
}
Twig form
<form class="form" name="client" method="post">
{{ form_start(form) }}
{{ form_errors(form) }}
{{ form_row(form.firstName) }}
{{ form_row(form.lastName) }}
{{ form_row(form.email) }}
<h3>Client Phones</h3>
<ul style="list-style-type: none;" class="clientphones" data-prototype="{{ form_widget(form.clientphones.vars.prototype)|e }}">
{% for phone in form.clientphones %}
<li>{{ form_row(phone.home) }}</li>
<li>{{ form_row(phone.office) }}</li>
<li>{{ form_row(phone.mobile) }}</li>
{% endfor %}
</ul>
{{ form_rest(form) }}
<input type="submit" value="Submit" />
{{ form_end(form) }}
</form>
Upvotes: 0
Views: 178
Reputation: 17759
You should set the field to rendered before your {{ form_rest(form) }}
so it doesn't try to render everything that has been missed (intentionally or otherwise).
{% do form.clientphones.setRendered %}
{{ form_rest(form) }}
Upvotes: 1
Reputation: 2409
Use form_label, form_error, form_widget instead of form_row
e.g.
<div>
{{ form_label(phone.home) }} // remove or update this if you want to drop or modify the label
{{ form_errors(phone.home) }}
{{ form_widget(phone.home) }}
</div>
Upvotes: 0