Событие LimeSurvey afterSurveyComplete

В своей первой статье я создал простой плагин для LimeSurvey.
Теперь мы хотим добавить некоторый текст на последнюю страницу, когда пользователь выполнит опрос.
LimeSurvey предлагает событие afterSurveyComplete.

Все, что нам нужно сделать, — это подписаться на это событие и реализовать метод обработчика события:

public function init()
{
    $this->subscribe('afterSurveyComplete');
}
Вход в полноэкранный режим Выход из полноэкранного режима

Минимальная реализация выглядит следующим образом.

public function afterSurveyComplete()
{
    $event = $this->getEvent();
    $event->getContent($this)->addContent('Hello World');
}
Вход в полноэкранный режим Выход из полноэкранного режима

Для дальнейшей обработки событие предоставляет 2 параметра surveyId и responseId.


public function afterSurveyComplete()
{
    $event = $this->getEvent();

    $surveyId   = $event->get('surveyId');
    $responseId = $event->get('responseId');

    $response   = $this->pluginManager->getAPI()->getResponse($surveyId, $responseId);

    $myContent  = var_export($response, true);

    $event->getContent($this)->addContent($myContent);
}

Вход в полноэкранный режим Выход из полноэкранного режима

Вот и все.
Пока!

Оцените статью
Procodings.ru
Добавить комментарий