Отрисовать частичную веточку в формирователе

Можно ли сделать представление в Formmapper?
Ситуация такая:

 /**
* @param FormMapper $formMapper
*/
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->tab('Company')
->with('Info')
->add('name')
->end()
->end()

->tab('Abonnementen')
->with('Abonnementen', array('class' => 'col-md-12'))
//Render a partial twig here
->end()
;
}

Это в моей ветке:

<form class="form-horizontal" action="" method="post" style="margin-top:15px;">
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<div class="box-header"><h4 class="box-title">Abonnementen</h4></div>
<div class="box-body">
<table class="table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
<th>Active</th>
</tr>
</thead>
<tbody>
{% for abonnement in abonnementen %}
<tr>
<td>{{ abonnement.name }}</td>
<td>{{ abonnement.description }}</td>
<td>€ {{ abonnement.price }}</td>
<td>
<input type="checkbox" name="{{ abonnement.id }}[active]"{% if abonnement.active %}
checked="checked"{% endif %}>
</td>
</tr>
{% endfor %}
<tr>
<td colspan="4">
<input type="submit" class="btn btn-primary" value="Save" name="abonnement_save">
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</form>

Можно ли даже загрузить это в мою вкладку в моем формуляре?

0

Решение

Я думаю, что возможно сделать что-то подобное. Вы хотите ввести свою форму в форму базовой сонаты. Это возможно, но в конце вы получите что-то вроде этого:

  <form> # form from sonata
<form> #your custom form
</form>
</form>

Я не рекомендую это.

Формируйте форму Formmaper из formBuilder, и вы можете определить шаблон (html) вашего поля формы стандартным способом:

http://symfony.com/doc/current/cookbook/form/form_customization.html

Я рекомендую переопределить имя шаблона сонаты «edit» и добавить туда свой код в качестве другой формы.

 public function configure()
{
$this->setTemplate('edit', 'ApplicationM2MNewsletterBundle:CRUD:empty_form.html.twig');
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]