Не уверен, если вам все еще нужно это, но мне нужно было то же самое, и я написал плагин, чтобы справиться с этим.
https://github.com/expressodev/easy_icalendar
По сути, использование просто вращается вокруг стандартногоТег записей канала, поэтому выглядит примерно так:
{exp:easy_ical:calendar timezone="Pacific/Auckland" name="My Easy Event Calendar"}
{exp:channel:entries channel="events" show_future_entries="yes" show_expired="yes" limit="20"}
{exp:easy_ical:event uid="{entry_id}" start_time="{entry_date}" end_time="{expiration_date}" location="{event_location}" summary="{title}"}
{event_description}
{/exp:easy_ical:event}
{/exp:channel:entries}
{/exp:easy_ical:calendar}
. Вы можете использовать его для отображения одной записи при нажатии кнопки.Просто создайте новый шаблон с именем /events/ical
или что-то в этом роде и назовите его, используя url /events/ical/url-title
(или entry_id).
Затем в цикле записей вашего канала используйте стандартный
{exp:channel:entries channel="events" url_title="{segment_3}"}
Easy iCal выложит действительный загружаемый файл ics.Если вы хотите, чтобы ссылка имела расширение * .ics (некоторые читатели суетливы), поместите entry_id в сегменте 3 и имя файла в сегменте 4:
<a href="/events/ical/{entry_id}/{url_title}.ics">
Затем просто используйте entry_id в вашемшаблон и игнорировать сегмент 4