Apostrophe cms : widget html 模板检查是否设置了图像

Apostrophe cms : widget html template check if image is set

在Apostrophe CMS中,如何检查模板中是否设置了图片?

例如,如果我有一个 "title" 字段, {% if data.widget.title %} 工作正常。

然而,对于图像,设置如下: {{ apos.singleton(data.widget, 'image', 'apostrophe-images', {}) }} 相同的模式不起作用,因为 data.widget.image 总是 [object][object]'

我阅读了一些资料,发现图像的传递方式不同,因为它们是 pieces 的一部分,但无法正常工作。有什么想法吗?

如果您的图像字段只处理单个图像:

{% set image = apos.images.first(data.widget.image) %}
{% if image %}
  ...
{% endif %}

如果您需要一些基于数组中图像数量的逻辑,您也可以使用 apos.images.all

{%- set images = apos.images.all(data.widget.slideshow) -%}
{% if (images.length > 1) %}
  ...
{% endif %}

There's an example of this logic in this bit of documentation as well.