簡體   English   中英

Symfony形式:具有不同原型的CollectionType

[英]Symfony Form: CollectionType with different prototypes

有沒有一種方法可以用CollectionType構建表單,並可以添加不同的原型。

背景:我想構建一個“ Pagebuilder”。 功能類似於此功能,但我必須將其集成到現有應用程序中。

使用SuluCMF的Pagebuilder

所以我必須添加不同的原型。 可以在選擇字段中切換不同的原型。

應該有具有不同表單域的多個表單。 EG一

  • 鏈接到產品
  • 單個所見即所得元素
  • 帶有元數據的圖像
  • 等等...

表格對於用戶應該盡可能簡單。 因此,我需要添加多個原型的可能性。

這已經可能了嗎?

編輯:盡管您的問題是關於CollectionType的,但在仔細查看屏幕截圖之后,我認為您只需要創建一個包含多個子表單的主表單,並根據用戶選擇顯示適當的子表單(使用javascript)即可。

如果您堅持使用CollectionType(我的屏幕快照中沒有顯示該原因),則可以執行以下操作:

    $builder->add('entity1', CollectionType::class, [
        'label' => 'entity.recipe.entity1',
        'entry_type' => \AppBundle\Form\Type\Entity1Type::class,
        'allow_add' => true,
        'allow_delete' => true,
        'prototype' => true,
        'prototype_name' => '__EntityId__',
        'entry_options'  => ['required'  => false],
        ]);

    $builder->add('entity2', CollectionType::class, [
        'label' => 'entity.recipe.entity2',
        'entry_type' => \AppBundle\Form\Type\Entity2Type::class,
        'allow_add' => true,
        'allow_delete' => true,
        'prototype' => true,
        'prototype_name' => '__EntityId__',
        'entry_options'  => ['required'  => false],
        ]);
...

根據需要添加任意多個實體類型,每個實體類型將是一個零個或多個項目的集合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM