今天我想要一个带有表格的modal dialog的节目
这是我的主要代码:
<button class="btn btn-primary btn-lg btn-new" data-toggle="modal" data-target="#agregarPunto">
Nueva Ronda
</button>
<div style="display: none;" class="modal fade" id="agregarPunto" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Agregar ronda</h4>
</div>
<div class="modal-body">
{% embed "controlidMembersBundle:Members:newRonda.html.twig" %}
{% endembed %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
<button type="button" class="btn btn-primary">Crear ronda</button>
</div>
</div>
</div>
</div>
这是我想要嵌入的代码
{% block nueva_ronda -%}
<h1>Nueva ronda</h1>
{{ form(form) }}
<ul class="record_actions"></ul>
{% endblock %}
问题是当我点击按钮时,因为我收到以下错误:
Variable "form" does not exist in /var/www/html/controlid/src/controlid/Bundle/MembersBundle/Resources/views/Members/newRo nda.html.twig at line 5
这个错误很明显,因为我不知道如何调用控制器来呈现表单。
这是应该呈现形式
的symfony上的操作/*
* @Route("/ronda/crear", name="members_ronda_new")
* @Method("GET")
* @Template()
*/
public function newRondaAction()
{
$entity = new Ronda();
$form = $this->createRondaForm($entity);
return array(
'entity' => $entity,
'form' => $form->createView(),
);
}
如何在我的modal-dialog中嵌入代码以呈现表单?
答案 0 :(得分:2)
我认为您想要的是将动作嵌入到您的树枝模板中。试试这个:
<div class="modal-body">
{{ render(controller('controlidMembersBundle:Members:newRonda')) }}
</div>
答案 1 :(得分:0)
将此行放在模板的顶部:
{%- use 'controlidMembersBundle:Members:newRonda.html.twig' -%}
JFYI你应该用大写字母(Symfony标准惯例)开始包名。
然后,而不是嵌入,只需使用:
渲染块{{ block('nueva_ronda') }}