События Squarespace по месяцам - PullRequest
1 голос
/ 07 июня 2019

Я пытаюсь создать собственный список событий для моего сайта 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 Ответ

0 голосов
/ 07 июня 2019

Вы можете использовать директиву 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>
...