0

我想在 Zotonic 中渲染一个随机连接的媒体项目,如下所示:

{% with m.rsc[id].banner as media %} 
    {% if media %}
    {% with media.random as m %}
            {% media m %}
        {% endwith %}
{% endif %} 
{% endwith %}

如何从 Zotonic 模板中的页面连接中随机选择一个媒体项目?

4

2 回答 2

1

并非所有过滤器都采用各种半列表。(即,可以像列表一样但不是的数据结构,搜索结果和资源列表就是示例。)

您可以强制一个值是一个列表,然后应用随机过滤器:

{% media m.rsc[id].banner|make_list|random %}

还利用了{% media %}在未定义值上返回空列表的事实。

于 2010-10-13T05:36:31.380 回答
0

Arjan 在这里有部分答案: http ://groups.google.com/group/zotonic-users/msg/021ac08702176745

但是,random过滤器似乎不适用于我的资源集合。

理想情况下,使用 Arjan 的解决方案,模板会非常简洁:

{% with m.rsc[id].banner|random as m %} 
    {% if m %}
        {% media m %}
    {% endif %} 
{% endwith %}

这看起来像是random过滤器中的一个错误,所以我将对其进行调试并返回此处。

于 2010-10-12T19:27:30.293 回答