Простой хелпер для генерации файлов для календаря в формате .ics в Битрикс
Скачиваете файл ICS.php и добавляете его в свой проект. Подключаете класс хелпера в init.php способом, который вам нравится. Например
Bitrix\Main\Loader::registerAutoLoadClasses(
null,
[
'\ICS' => '/local/php_interface/helpers/ICS.php',
]
);
Собираем в объект данные для генерации файла
Дата и время начала события. Cтрока с датой на английском языке допустимого формата
$start = '2023-02-12 18:00:00';
Дата и время завершения события. Cтрока с датой на английском языке допустимого формата
$end = '2023-02-12 19:00:00';
$name = 'Название события';
$description = 'Описание события';
$location = 'Место события';
$url = 'URL-cсылка на что угодно';
$file = new ICS($start, $end, $name, $description, $location, $url);
$fileID = $file->save(); //ID сохранённого файла в БД Битрикса
$fileLink = CFile::GetPath($fileID); //Ссылка на сохранённый файл
$file->show();