Вы здесь

Calendar Link

Функции Twig для генерации ссылок «Добавление в календарь».

Модуль Calendar Link использует библиотеку spatie/calendar-links и добавляет две новые функции Twig для генерации ссылки на календарь:

1. calendar_link

Возвращает ссылку для определённого типа календаря. Доступные типы:

  • Apple iCal/Microsoft Outlook (ics)
  • Google calendar (google)
  • Outlook.com (webOutlook)
  • Yahoo! calendar (yahoo)

2. calendar_links

Возвращает массив ссылок для всех доступных типов календаря. Каждый элемент массива имеют следующие ключ/данные:

  • type_key: ключ типа календаря (ics, google и так далее)
  • type_name: название типа календаря (iCal, Google и так далее)
  • url: URL пункта календаря

Примеры

Например, есть документ «Событие» со следующими полями:

  • Title (string 'title')
  • Start date/time (datetime 'field_start')
  • End date/time (datetime 'field_end')
  • All day event (boolean 'field_all_day')
  • Description (string 'field_description')
  • Location (string 'field_location')

В шаблоне Twig следующий код сгенерирует ссылку на событие в календаре Google:

{% set link = calendar_link('google',
  title,
  field_start,
  field_end,
  field_all_day,
  field_description,
  field_location)
%}
<a href="{{ link }}">Add to Google</a>

Или можно использовать код для создания списка ссылок для каждого сервиса:

{% set links = calendar_links(
  title,
  field_start,
  field_end,
  field_all_day,
  field_description,
  field_location)
%}
<ul>
{% for link in links %}
  <li>
    <a href="{{ link.url }}"
       class="calendar-link-{{ link.type_key }}">{{ link.type_name }}</a>
  </li>
{% endfor %}

Группа проекта: