В представлении даём ссылку на действие в контроллере
Html::a(
'Добавить в Google Calendar',
['event/addtogooglecalendar', 'id'=>$model->id]
);
И в контроллере добавляем действие
public function actionAddtogooglecalendar($id)
{
$model = $this->findModel($id);
$dt = new \DateTime($model->when_date." ".$model->when_time, new \DateTimeZone("UTC"));
$dt2 = new \DateTime($model->when_date." ".$model->when_time, new \DateTimeZone("UTC"));
$dtend = $dt2->add(new \DateInterval('PT2H'))->format(self::DATETIME_FORMAT);
$dt->createFromFormat('Y-m-d H:i:s', $model->when_date." ".$model->when_time);
$dtstart = $dt->format(self::DATETIME_FORMAT);
$text = $model->who."__".$model->what;
$dates = $dtstart."/".$dtend;
$location = $model->where;
$details = $model->clubName."\n\r".$model->link;
return $this->redirect('https://calendar.google.com/calendar/r/eventedit?' . http_build_query(['text' => $text, 'dates'=>$dates, 'location'=>$location, 'details'=>$details]));
}
Теперь по нажатию на ссылку "Добавить в Google Calendar" вызовется действие, которое перенаправит пользователя по ссылке на добавление события в его google календарь, и ему откроется страница с заполненными полями формы добавления. Он это подтверждает, или, если нужно, редактирует инфу и создает событие.
13 сентября 2018, Программирование, веб-кодинг / Метки: google calendar
16 января 2023

Yii2-user сменить текущего пользователя или переход на другого пользователя (SwitchIdentity)
Impersonate User / Become another user
12 декабря 2022

Yii2: uclead MultipleInput + kartik DepDrop
Настраиваем множественные поля с выпадающим списком