簡體   English   中英

Symfony 表單生成器多行相同類型

[英]Symfony form builder multiple rows of same type

您好,我想知道如何在 Symfony 表單構建器中創建一個表單,該表單將顯示多行相同類型。 例如,我有一組圖像:

Array: 
[www.image1.com, www.image2.com, www.image3.com]

我想制作一個表單,為每個圖像顯示一個文本框字段。 圖像數量未知,可能是 1 或 30。所以我想要類似的東西:

Image 1 displayed | textbox 1
Image 2 displayed | textbox 2
Image 3 displayed | textbox 3

[Save]

在文本框中,我將為每個文件編寫標題,當我單擊保存時,每一行都應保存在數據庫中它自己的行中,如下所示:

id | name                | url
------------------------------------------
1  | name from textbox 1 | www.image1.com
2  | name from textbox 2 | www.image2.com
3  | name from textbox 3 | www.image3.com

我不知道如何從我的實體創建這個表單。 表單如何創建多個文本框,但知道如何將每個文本框連接到應該輸入的正確文本。

首先,您需要定義基本實體和圖像實體之間的多對多關系。

就表單而言,您需要使用 Symfony 提供的 Collection 類型。

下面是一個例子:

use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\Extension\Core\Type\ImageType;
// ...

$formBuilder->add('images', CollectionType::class, array(
    // each entry in the array will be an "image" field
    'entry_type'   => ImageType::class,
    // these options are passed to each "image" type
    'entry_options'  => array(
        'attr'      => array('class' => 'image-box')
    ),
));

當然,如果您不想創建自己的表單類型,您可以將任何內置字段類型傳遞給entry_type

更詳細的信息在這里: http : //symfony.com/doc/current/reference/forms/types/collection.html

如果你需要幫助制作你的圖像實體,有一個食譜配方: http : //symfony.com/doc/2.2/cookbook/doctrine/file_uploads.html即使它已經過時它仍然是相關的

希望有幫助

暫無
暫無

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

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