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

Symfony 2.8 - display certain entity value in form field widget template

我正在构建一个自定义文件上传小部件,我会在其中显示上次上传的文件名。我创建了 FormType class 并在 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 变量,并希望在字段小部件模板中显示它。我该如何处理它?

最后,我不得不将文件名作为选项传递给代表我的 FileType:

的嵌入式表单
$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 }}