Symfony eZ Publish 5:获取类的图像属性的绝对url

Symfony eZ Publish 5:获取类的图像属性的绝对url,symfony,twig,ezpublish,Symfony,Twig,Ezpublish,在eZ Publish 5中,我有一个带有图像属性的类 在twig模板中,我可以从属性参数中获取相对url(例如,“/var/site/storage/image/…”) 现在我需要绝对url。哪种方法最好 我应该获取请求信息并将基本url附加到相对url吗?还是有一个内置的方法 谢谢您应该这样做: {{ asset( ez_image_alias( content.getField( 'image' ), content.versionInfo, 'original' ).uri, absol

在eZ Publish 5中,我有一个带有图像属性的类

在twig模板中,我可以从属性参数中获取相对url(例如,“/var/site/storage/image/…”)

现在我需要绝对url。哪种方法最好

我应该获取请求信息并将基本url附加到相对url吗?还是有一个内置的方法


谢谢

您应该这样做:

{{ asset( ez_image_alias( content.getField( 'image' ), content.versionInfo, 'original' ).uri, absolute=true ) }}
ez_image_alias用于获取图像别名(显然),这里我们获取原始变体。 然后我们获取图像别名的uri,并将其传递给symfony函数


那应该行。

是的,这是正确的答案。 只是不要忘记在之前添加一些测试,例如:

检查要从中检索数据的内容字段是否存在,以及该字段是否为空:

{% if content.fields['myFieldIdentifier'] is defined and not ez_is_field_empty(content, 'myFieldIdentifier') %}
    {# do the job #}
{% endif %}
以下是默认情况下ImageFieldType的呈现方式:

{% block ezimage_field %}
{% spaceless %}
{% if not ez_is_field_empty( content, field ) %}
<figure {{ block( 'field_attributes' ) }}>
    {% set imageAlias = ez_image_alias( field, versionInfo, parameters.alias|default( 'original' ) ) %}
    <img src="{% if imageAlias %}{{ asset( imageAlias.uri ) }}{% else %}//:0{% endif %}"{% if imageAlias.width is defined %} width="{{ imageAlias.width }}"{% endif %}{% if imageAlias.height is defined %} height="{{ imageAlias.height }}"{% endif %} alt="{{ field.value.alternativeText }}" />
</figure>
{% endif %}
{% endspaceless %}
{% endblock %}
{%block ezimage_field%}
{%spaceless%}
{%if not ez_is_field_empty(content,field)%}
{%set-imageAlias=ez_-image_-alias(字段,versionInfo,parameters.alias |默认('original'))%}
{%endif%}
{%endspaceless%}
{%endblock%}