Как вы просматриваете прошлые элементы в поиске в шаблоне Zotonic?

Я хотел бы иметь возможность проходить через прошлые события в шаблоне:

{% for page in m.search[{past cat='event'}] %}
    {% if forloop.first %}<ul>{% endif %}
        <h2>{{ m.rsc[page].date_start|date:"M j, Y" }} {{ m.rsc[page].title }}</h2>
        <p>{{ m.rsc[page].body|show_media }}</p>
        <p><a href="{{ m.rsc[page].website }}">Register to attend this event.</a></p>
    {% if forloop.last %}</ul>{% endif %}
{% endfor %}

В основном я ищу прошлый тип поиска, который действует как противоположность предстоящему типу поиска.

Я уже могу получить предстоящие события следующим образом:

{% for page in m.search[{upcoming cat='event'}] %}
    {% if forloop.first %}<ul>{% endif %}
        <h2>{{ m.rsc[page].date_start|date:"M j, Y" }} {{ m.rsc[page].title }}</h2>
        <p>{{ m.rsc[page].body|show_media }}</p>
        <p><a href="{{ m.rsc[page].website }}">Register to attend this event.</a></p>
    {% if forloop.last %}</ul>{% endif %}
{% endfor %}

Я не сомневаюсь в том, что кодирую это, если меня направят в правильном направлении, и я внесу результат обратно в базу мастер-кода.

Как вы просматриваете прошлые элементы в поиске в шаблоне Zotonic?

1 ответ

Решение

Вы могли бы использовать date_start_before термин поисковой модели запроса, который, по-видимому, недокументирован, хотя я нашел его, глядя на исходный код в search_query.erl (строка 293).

Хотя я думаю, что ваш запрос должен проверять pivot_date_end, а не pivot_date_start.

Чтобы сделать это более доступным, вы можете добавить обработчик (очень похоже на upcoming) к модулю mod_search.erl, в конечном итоге также изменяя

Модуль mod_search реализует большинство запросов.

Смотрите также http://zotonic.com/documentation/761/the-query-search-model

Патчи приветствуются:-)

Другие вопросы по тегам