События Squarespace по месяцам
Я пытаюсь создать собственный список событий для моего сайта Squarespace. Я хотел бы показать события, разделенные месяцем, в котором они происходят. Например, у меня будет заголовок с надписью "Июнь", а затем под ним будет перечислены все события, происходящие в июне. Я хотел бы сделать это в коде шаблона, а не с помощью блока архива, чтобы я мог настроить список, чтобы показать точные элементы, которые мне нужны. Приведенный ниже код показывает мою попытку отобразить элементы, которые я хочу получить от событий, произошедших в июне, однако, другое изображение - мой результат. Мой. Равный? Предикат не работает так, как я хотел. Если бы кто-нибудь мог помочь мне с этим, я был бы очень признателен.
<div class="events_month_loop">
{.repeated section items}
{.equal?:{startDate|date %B:"June"}
<div id="events-{id}">
<div class="event_info">
<a href="{fullUrl}">Event Link</a>
</div>
</div>
{.end}
{.or}
<p>No events in June</p>
{.end}
</div>
1 ответ
Вы хотите использовать var
Директива для достижения этой цели.
<squarespace:query collection="events">
<div class="events_month_loop">
{.repeated section items}
{.var @smonth startDate|date %B}
{.equal? @smonth "June"}
<div id="events-{id}">
<div class="event_info">
<a href="{fullUrl}">Event Link</a>
</div>
</div>
{.end}
{.or}
<p>No events in June</p>
{.end}
</div>
</squarespace:query>
Одно примечание: я предполагаю, что это в squarespace:query
, Если это в .list
файл, то некоторые изменения потребуются.
Кроме того, вышесказанное работает в случае, когда вы жестко программируете месяц, как в примере кода.
Если вы хотите провести динамическое сравнение с текущим месяцем, я думаю, что самое близкое, что вы могли бы получить, это сравнить его с последней датой изменения содержания сайта. Во многих случаях этого будет достаточно:
<squarespace:query collection="events">
<div class="events_month_loop">
{.var @cmonth website.contentModifiedOn|date %B}
{.repeated section items}
{.var @smonth startDate|date %B}
{.equal? @smonth @cmonth}
<div id="events-{id}">
<div class="event_info">
<a href="{fullUrl}">Event Link</a>
</div>
</div>
{.end}
{.or}
<p>No events in {@cmonth}</p>
{.end}
</div>
</squarespace:query>
Совет, который дал мне Брэндон давным-давно, заключался в том, чтобы использовать limit="0" в запросе squarespace: только для получения предстоящих событий, иначе запрос также получит прошлые события! Очень удобно.
<squarespace:query collection="events" limit="0">