【问题标题】:how to duplicate a form in create page using sonata admin如何使用奏鸣曲管理员在创建页面中复制表单
【发布时间】:2016-06-23 17:25:14
【问题描述】:

我使用 sonata-admin-bundle 通过以下命令生成管理类:

php app/console sonata:admin:generate AppBundle/Entity/Foo

我想一次保存 2 个“Foo”实体。 是否可以在同一页面中有重复的表单?

【问题讨论】:

标签: symfony orm doctrine-orm sonata-admin sonata-media-bundle


【解决方案1】:

更新

您不能使用表单生成器同时显示两个不同的<form/>。 但是,我认为您可以通过使用一些自定义 javascript 来实现这一点。

我考虑使用所有字段正常呈现您的表单,例如:

$formMapper
    ->add('field1')
    ->add('field2')
    // ...
    ->with('First Form')
        ->add('fieldSpecificToTheFirstForm')
    ->end()
    ->with('Second Form')
        ->add('fieldSpecificToTheSecondForm')
    ->end()
;

然后,override the edit template,将JS写入:

{% block javascripts %}
    {{ parent() }}

    <script type="text/javascript">
        // Make some custom stuff with jQuery
    </script>

{% endblock %}

当另一个字段发生变化时,可能会根据另一个字段的值添加/删除字段。

这不是一个完整的解决方案,只是一种方法。

【讨论】:

  • 感谢您的重播,这很有帮助,但我想我并不清楚我的问题,我想要的是两种形式,因为字段值不同,有一个字段将被隐藏并采取行动旗帜的孩子: foo1 : name=bobo , age=20 , flag=n foo2 : name=toto , age=30 , flag=o
  • 您需要在同一个创建页面中同时使用这两种不同的表单,对吧?比如/admin/foo/create,你需要两个&lt;form&gt;...fields...&lt;/form&gt;吗?或者您是否每页只需要一个表单,但根据某些条件使用不同的字段?
  • 我需要在同一个创建页面中使用两种不同的表单
  • 马上?两个表单链接在同一个视图中?
猜你喜欢
  • 1970-01-01
  • 2015-09-20
  • 2018-04-26
  • 2017-11-30
  • 1970-01-01
  • 2018-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多