Как программно обновить существующую отправленную веб-форму в Drupal?

Я пытаюсь использовать PHP в правилах Drupal для обновления значений в представленных веб-формах представлениях. Я могу получить доступ и просматривать данные правильно. Когда я назначаю новое значение полю, оно даже будет правильно отображаться, если я использую:

print $submission->data[61][0];

Но когда я перехожу на страницу результатов отправки, поле не обновляется.

Я пытался использовать webform_submission_update() Функция подтолкнуть мои изменения, но все равно не повезло.

Вопрос: Как программно обновить существующую отправленную веб-форму в Drupal?

Код:

$submission = webform_menu_submission_load($nid, $sid);

// Two ways I've tried to update the data
$submission->data[61][0] = "testwork";
$submission->data[61]['value'][0] = 'Declined';

// If I do print $submission->data[61][0]; it will show the new value.

webform_submission_update($nid, $submission);

3

Решение

Проблема была в 2 раза:

Я не использовал node_load () для NID веб-формы.

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

// Load the node and submission.
$node = node_load(3333);
$sid = $list_itemb->sid;
$submission = webform_get_submission($node->nid, $sid);

// Change submission data.
$submission->data[61][0] = 'Update';

// Finally, update the submission.
webform_submission_update($node, $submission);

Документация:

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]