Загрузить отправку веб-формы


Как я могу загрузить отправку веб-формы программно?

Я пытался : $webform_submission = WebformSubmission::load($sid);

Но он возвращает значение null.

Я делаю это в вызове пользовательского модуля обработчиком после отправки веб-формы.

 2
Author: Leeroy, 2018-06-07

2 answers

Я думаю, вам нужно загрузить sid, как показано ниже

// Load submission using sid.
/** @var \Drupal\webform\WebformSubmissionInterface $webform_submission */
$webform_submission = \Drupal\webform\Entity\WebformSubmission::load($sid);
 6
Author: sivani, 2018-06-08 03:35:07

Чтобы программно загрузить отправленные веб-формы определенной веб-формы -

    $webform = \Drupal\webform\Entity\Webform::load('WEBFORM_ID');  //webform id is the webform name
    if ($webform->hasSubmissions()) {
      $query = \Drupal::entityQuery('webform_submission')
        ->condition('webform_id', 'WEBFORM_ID');
      $result = $query->execute();
      $submission_data = [];
      foreach ($result as $item) {
        $submission = \Drupal\webform\Entity\WebformSubmission::load($item);
        $submission_data = $submission->getData();
      }
    }
 3
Author: Kashmiri, 2019-12-29 07:33:43