Symfony -在一个窗体中添加多个窗体
Symfony - Add several forms in a form
我正在研究Symfony,我有一个关系:Product - OneToMany - Image。我想在我的添加产品的形式,添加4图像。
我知道如何使用JavaScript(通过添加动态输入模式…),但我想在我的表单中做,但我不知道如何…
下面是我的代码:
ProductType.php
class ProjectType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', TextType::class, array('label' => 'Titre'))
->add('url', UrlType::class, array('label' => 'URL'))
->add('client', TextType::class, array('label' => 'Client'))
->add('description', TextType::class, array('label' => 'Description'))
->add('category', EntityType::class, array(
'class' => 'AntoinePortfolioBundle:Category',
'choice_label' => 'name',
'multiple' => false,
'label' => 'Catégories'))
->add('tags', EntityType::class, array(
'class' => 'AntoinePortfolioBundle:Tag',
'choice_label' => 'name',
'multiple' => true,
'label' => 'Tags'))
->add('images', CollectionType::class, array(
'entry_type' => ImageType::class));
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Antoine'PortfolioBundle'Entity'Project'
));
}
}
ImageType.php
<?php
namespace Antoine'PortfolioBundle'Form;
use Symfony'Component'Form'Extension'Core'Type'TextType;
use Symfony'Component'Form'AbstractType;
use Symfony'Component'Form'Extension'Core'Type'FileType;
use Symfony'Component'Form'FormBuilderInterface;
use Symfony'Component'OptionsResolver'OptionsResolver;
class ImageType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, array('label' => 'Nom'))
->add('alt', TextType::class, array('label' => 'alt'))
->add('file', FileType::class, array('label' => 'Image'));
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Antoine'PortfolioBundle'Entity'Image'
));
}
}
我的人际关系很好,这不是问题。
感谢您的宝贵时间!您可以通过使用表单事件来实现这一点。http://symfony.com/doc/current/form/events.html
我认为FormEvents::PRE_SET_DATA
会成功。
相关文章:
- Meteor-将选定窗体中的对象添加到集合中
- 如何添加CSS&JavaScript进入Windows窗体应用程序C#.net
- 将嵌套对象数据添加到窗体中
- 如何将任意数量的图像动态添加到源字符串位于数据库中的 Web 窗体
- 在窗体中添加值
- 在ASP.Net web窗体/MVC中动态加载和添加字段
- 使用窗体向下拉菜单添加值
- Asp.Net 将多个窗体添加到一个窗体时,用户控件无法正常工作
- 在窗体中动态添加数组文本框
- 当事件侦听器作为部分页面的一部分加载时,如何将事件侦听器添加到窗体中
- 如何向窗体动态添加单选按钮
- 在引导程序窗体中单击时添加行
- 具有用户添加的行的窗体,以及对每行的输入元素查找
- 向窗体滚动条添加延迟
- 如何仅在窗体更改时向窗口添加事件侦听器
- Symfony -在一个窗体中添加多个窗体
- AngularJS $编译的元素不会被添加到它们所在的窗体中
- 添加后退,前进,播放/暂停按钮和setInterval()的窗体
- 如何将图片添加到窗体中作为预览
- 为jquery移动滑块窗体添加一个比例