Как выбрать случайный элемент мультимедиа из Соединения страниц в шаблоне Zotonic? - PullRequest
0 голосов
/ 12 октября 2010

Я хотел бы визуализировать случайно подключенный медиа-элемент в Zotonic следующим образом:

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

Как выбрать случайный элемент мультимедиа из Соединения страниц в шаблоне Zotonic?

Ответы [ 2 ]

1 голос
/ 13 октября 2010

Не все фильтры принимают всевозможные полусписки. (т.е. структуры данных, которые могут действовать как список, но не являются, примеры поиска и списки ресурсов являются примерами.)

Вы можете заставить значение быть списком, а затем применить случайный фильтр:

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

Также используется тот факт, что {% media %} для неопределенного значения возвращает пустой список.

0 голосов
/ 12 октября 2010

У Арджана есть частичный ответ здесь: http://groups.google.com/group/zotonic-users/msg/021ac08702176745

Однако фильтр random не работает с моими коллекциями ресурсов.

В идеале, используя решение Арджана, шаблон должен быть очень лаконичным:

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

Это похоже на ошибку в фильтре random, поэтому я собираюсь отладить ее и опубликовать здесь.

...