在树枝上克隆表格数组,symfony 2

时间:2015-05-28 17:10:54

标签: jquery symfony twig formbuilder

如何在树枝级别复制使用symfony 2中的表单构建器构建的表单数组?

我有下面的表单组,它创建了一个多层表单

 {{ form_row(form.products.ItemOptions) }}

我希望将这个数组form.products.Options复制到twig中的新数组中,这样我就可以在同一页面的另一个部分中显示和编辑它。

我尝试过使用twigs合并功能,还有jquery。任何帮助将不胜感激

3 个答案:

答案 0 :(得分:0)

我认为您可以使用set

{% set productOptions = form.products.Options %}

请注意,您还可以通过AbstractType::buildView()

自定义表单视图

答案 1 :(得分:0)

呈现的表单使用实体。 (例如产品)。由于您已在控制器中拥有该实体的实例,因此您只需将此实体添加到Twig数据即可。         return $ this-> render('default / new.html.twig',array(             'form'=> $形式 - > CreateView的(),             'products'=> $产品,         ));     }

在树枝上,您可以简单地执行以下操作:

{% for product in products %}
    {% for itemOption in product.itemOptions %}
        {{ itemOption }}<br>
    {% endfor %}
{% endfor %}

或者您使用新的formType创建第二个formType类并在控制器中生成第二个表单,并将表单添加到Twig数据中。

答案 2 :(得分:0)

如果它可以帮助任何人,我最终用简单的jquery解决了我的问题。通过使用appendTO()命令,我能够删除dom上的行并重新组织它们。同样使用$( "#divID" ).clone().appendTo( "#NewPosition" );允许我在两个位置显示表单,虽然属性也被复制,但它不是最有效的方法。