我有这个代码:
{% block vich_image_widget %}
{% spaceless %}
<div class="vich-image">
{{ dump() }}
{{ form_row(form.file) }}
{% if form.delete is defined %}
{{ form_row(form.delete) }}
{% endif %}
{{ download_uri }}
{% if download_uri is defined and download_uri %}
<a href="{{ download_uri }}"><img src="{{ download_uri | imagine_filter('my_thumb')}}" alt="" /></a>
{% endif %}
{% if show_download_link and download_uri is defined and download_uri%}
<a href="{{ download_uri }}">{{ 'download'|trans({}, 'VichUploaderBundle') }}</a>
{% endif %}
</div>
{% endspaceless %}
{% endblock %}
这给了我一个错误:
Variable "download_uri" does not exist in offerte/edit.html.twig at line 21
其中第21行为:{{ download_uri }}
但为什么我会出现这个错误?,trick在第22行中使用CCD_ 2而没有任何问题。
在第22行中,它只在download_uri存在的情况下使用,这就是为什么在第21行出现错误,它清楚地表明这个变量不存在,因为你没有将它传递给这个tmpl。
{% if download_uri is defined %}
{{download_uri}}
{% endif %}
在第21行中,您没有检查变量是否可用,因此需要将其放入if块中:
{% if download_uri is defined and download_uri %}
{{ download_uri }}
<a href="{{ download_uri }}"><img src="{{ download_uri | imagine_filter('my_thumb')}}" alt="" /></a>
{% endif %}
还有这个:
{% if download_uri is defined and download_uri %}
应该是这样的:
{% if download_uri is defined and download_uri is not empty %}