Forms Symfony 2.8-在表单字段小部件模板中显示某些实体值

Forms Symfony 2.8-在表单字段小部件模板中显示某些实体值,forms,symfony,file-upload,field,Forms,Symfony,File Upload,Field,我正在构建一个自定义文件上传小部件,在其中显示上次上传的文件名。我创建了FormType类,并在form/fields.html.twig中添加了以下内容: {% block custom_document_widget %} {% spaceless %} {# here I want to include code to display filename #} {# display file input #} {% set type

我正在构建一个自定义文件上传小部件,在其中显示上次上传的文件名。我创建了FormType类,并在
form/fields.html.twig
中添加了以下内容:

{% block custom_document_widget %}
    {% spaceless %}
        {# here I want to include code to display filename #}

        {# display file input #}
        {% set type = 'file' %}
        {{ block('form_widget_simple') }}
    {% endspaceless %}
{% endblock %}
我知道当前字段的值可以解析为
{{form.vars.value}}
,但最终该字段是文件输入,没有先前上载的文件名的值


要存储上传的文件名,我在实体中有
$filename
变量,并希望在字段小部件模板中显示它。如何处理它?

最后,我不得不将文件名作为一个选项传递给表示我的
文件类型的嵌入式表单:

$builder
    ->add('resumeFile', CustomDocsType::class, array(
        'required' => false,
        'constraints' => array(
            new File(array(
                'mimeTypes' => array(
                    'application/pdf',
                ),
                'mimeTypesMessage' => 'mimetype',
            )),
        ),
        'filename' => $trainee->getResumeOriginal(),
    ))
在我的CustomDocsType中:

class CustomDocsType extends AbstractType
{
    public function buildView(FormView $view, FormInterface $form, array $options)
    {
        parent::buildView($view, $form, $options);

        $view->vars = array_merge($view->vars, array(
            'filename' => $options['filename']
        ));
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'filename' => null
        ));
    }

    public function getParent()
    {
        return FileType::class;
    }
}
现在我只需访问模板中的文件名:

{{ form.vars.filename }}

最后,我不得不将文件名作为一个选项传递给表示我的
文件类型的嵌入式表单:

$builder
    ->add('resumeFile', CustomDocsType::class, array(
        'required' => false,
        'constraints' => array(
            new File(array(
                'mimeTypes' => array(
                    'application/pdf',
                ),
                'mimeTypesMessage' => 'mimetype',
            )),
        ),
        'filename' => $trainee->getResumeOriginal(),
    ))
在我的CustomDocsType中:

class CustomDocsType extends AbstractType
{
    public function buildView(FormView $view, FormInterface $form, array $options)
    {
        parent::buildView($view, $form, $options);

        $view->vars = array_merge($view->vars, array(
            'filename' => $options['filename']
        ));
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'filename' => null
        ));
    }

    public function getParent()
    {
        return FileType::class;
    }
}
现在我只需访问模板中的文件名:

{{ form.vars.filename }}
我猜a就是你要找的。我猜a就是你要找的。