我想在 Zotonic 中渲染一个随机连接的媒体项目,如下所示:
{% with m.rsc[id].banner as media %}
{% if media %}
{% with media.random as m %}
{% media m %}
{% endwith %}
{% endif %}
{% endwith %}
如何从 Zotonic 模板中的页面连接中随机选择一个媒体项目?
我想在 Zotonic 中渲染一个随机连接的媒体项目,如下所示:
{% with m.rsc[id].banner as media %}
{% if media %}
{% with media.random as m %}
{% media m %}
{% endwith %}
{% endif %}
{% endwith %}
如何从 Zotonic 模板中的页面连接中随机选择一个媒体项目?
并非所有过滤器都采用各种半列表。(即,可以像列表一样但不是的数据结构,搜索结果和资源列表就是示例。)
您可以强制一个值是一个列表,然后应用随机过滤器:
{% media m.rsc[id].banner|make_list|random %}
还利用了{% media %}
在未定义值上返回空列表的事实。
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
过滤器中的一个错误,所以我将对其进行调试并返回此处。