如何在grav中用树枝过滤图像列表
How to filter image list with twig in grav
我要在 grav 的侧边栏中插入赞助商图片列表,并且只想显示以 sponsor_
开头的图片。
目前,我的代码会在页面文件夹中添加任何图像。
base.html.twig:
<div class="sidebar-right-content">
<!-- insert R sidebar images here -->
<div class="sponsor-image">
<h3>Sponsors</h3>
{% for image in page.media.images %}
<br>{{ image.html }}
{% endfor %}
</div>
我尝试使用以下表达式限制返回的图像,但没有返回任何图像:
{% for image in page.media.images if image matches '/^sponsor.*$/' %}
有没有办法在这种情况下使用过滤器?
尝试:{% image in page.media.images |contains('sponsor') %}
经过对几个选项的一些测试,我发现了一个有点不优雅的方法来解决这个问题。
要理解的主要事情是 page.media.images
returns 一个数组,所以我们不能将其作为字符串进行过滤。
所以我只是嵌套了一个匹配语句。请问有没有单行解决方案
{% for image in page.media.images %}
{% if image.html matches '/.*sponsor.*$/' %}
<br>{{ image.html }}
{% endif %}
{% endfor %}
我要在 grav 的侧边栏中插入赞助商图片列表,并且只想显示以 sponsor_
开头的图片。
目前,我的代码会在页面文件夹中添加任何图像。
base.html.twig:
<div class="sidebar-right-content">
<!-- insert R sidebar images here -->
<div class="sponsor-image">
<h3>Sponsors</h3>
{% for image in page.media.images %}
<br>{{ image.html }}
{% endfor %}
</div>
我尝试使用以下表达式限制返回的图像,但没有返回任何图像:
{% for image in page.media.images if image matches '/^sponsor.*$/' %}
有没有办法在这种情况下使用过滤器?
尝试:{% image in page.media.images |contains('sponsor') %}
经过对几个选项的一些测试,我发现了一个有点不优雅的方法来解决这个问题。
要理解的主要事情是 page.media.images
returns 一个数组,所以我们不能将其作为字符串进行过滤。
所以我只是嵌套了一个匹配语句。请问有没有单行解决方案
{% for image in page.media.images %}
{% if image.html matches '/.*sponsor.*$/' %}
<br>{{ image.html }}
{% endif %}
{% endfor %}