Forms Symfony 2.8-在表单字段小部件模板中显示某些实体值
我正在构建一个自定义文件上传小部件,在其中显示上次上传的文件名。我创建了FormType类,并在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
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就是你要找的。