【问题标题】:Using Form type of form type to handle ImageUploading on symfony form使用表单类型的表单类型来处理 symfony 表单上的 ImageUploading
【发布时间】:2014-06-07 23:21:02
【问题描述】:

如何从两种表单类型创建自定义表单类型。我想创建 ImageFileType,其中有两种表单类型,一种用于处理图像文件,另一种用于检查用户是否在编辑操作时更改图像。

这个隐藏字段是因为当用户去编辑实体并且只编辑其他表单字段并且不编辑 imageFiletype 这个表单发送空文件到服务器,我需要隐藏表单字段来知道这是用户更改实体图像与否.

我向这个新的表单类型 (PromotImageformtype) 添加了两个表单类型,并希望获取第二个字段的值并将其发送回我的主表单类型。

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('ImageChangeFlag', 'hidden', array('data' => false))
            ->add('image', 'imagefile', array('label' => 'لوگو راهکار',
                                                      'required' => false,
                                                      'image_path' => $options['image_path'])
                                                      'image_thumb_path' => $options['image_thumb_path']),
                                                      'entity' => $options['entity']),
                                                      'thumbs_info' => $options['thumbs_info'])
                                                    ));

        //add event listener to calls validator
        $ImageChangeFlag_listener = new ImageChangeFlagListener($options);
        $builder->addEventListener(FormEvents::PRE_BIND, array($ImageChangeFlag_listener, "PreBindValidatorImage"));

        $builder->addEventListener(FormEvents::POST_BIND, array($ImageChangeFlag_listener, "PostBindValidatorImage"));
    }

我该怎么做?在这种情况下,PRE_BIND 和 POST_BIND 是如何工作的?我有两种表单类型,我的父表单类型有 PRE_BIND,我的子表单类型也有 PRE_BIND 和 POST_BIND 侦听器。

【问题讨论】:

    标签: php forms symfony types


    【解决方案1】:

    检查Genemu bundle,它添加了不同的表单类型,例如文件上传和图像上传

    demo here

    我得到灵感来创作自己的作品

    【讨论】:

      【解决方案2】:

      请查看此文档以了解如何保存和更新上传的文件

      How to handle File Uploads with Doctrine

      这是How to Embed a Collection of Forms

      【讨论】:

      • 我检查了上面的链接,但没有任何改变。
      猜你喜欢
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 2013-01-29
      • 1970-01-01
      相关资源
      最近更新 更多