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

时间:2010-10-12 16:46:37

标签: zotonic

我想在Zotonic中呈现一个随机连接的媒体项目如下:

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

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

2 个答案:

答案 0 :(得分:1)

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

您可以将值强制为列表,然后应用随机过滤器:

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

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

答案 1 :(得分: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过滤器中的错误,所以我打算调试它并在此发回。