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

アルジャンはここに部分的な答えを持っています: 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 に答える