我有一个实体的Symfony2编辑表单,其中一个字段用于用户的个人资料图片。
我正在尝试设置Twig文件上传小部件的主题,以便该字段的当前图片集显示在文件输入上方。
到目前为止,我有:
{% form_theme edit_form _self %}
{% block field_widget %}
{% set type = type|default('text') %}
{% if type == 'file' %}
<img src="{{ value }}" />
{% endif %}
{{ block('form_widget_simple') }}
{% endblock %}
一切正常,除了值变量是空白的(我猜是有意义的)。
我的问题是我怎样才能掌握文件的路径?有没有办法从字段的表单值中选择它?我可以将它作为一个选项传递给该领域吗?
Srz如果这是一个愚蠢的问题,对于Symfony和Twig来说还是一个新手......
答案 0 :(得分:5)
自定义文件小部件的更好方法是
{% block file_widget %}
{% spaceless %}
//Your custom content here
{% endspaceless %}
{% endblock file_widget %}
例如:
{% block file_widget %}
{% spaceless %}
<td>{% set type = type|default('file') %}
<input type="{{ type }}" {{ block('widget_attributes') }} />
</td>
{% endspaceless %}
{% endblock file_widget %}
请记住“{%spaceless%}”非常重要
答案 1 :(得分:3)
以更明显的方式指向解决方案的新网址:
http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html
答案 2 :(得分:0)
所以看起来我在搜索Symfony的东西时很糟糕。我最终找到了Symfony食谱的这一部分:http://symfony.com/doc/master/cookbook/form/form_customization.html
Symfony2将其称为表单类型扩展,它们实际上使用将图像标记添加到文件小部件作为示例。