2016-02-18 2 views
3

Я пытаюсь использовать PHP в правилах Drupal для обновления значений в представленных представлениях веб-формы. Я могу правильно просматривать и просматривать данные. Когда я присвоить новое значение в поле, он будет даже отображаться правильно, если я использую:Как я могу программно обновить существующее переданное представление веб-формы в 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); 

ответ

4

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

Я не использовал node_load() на НИЗ в веб-форму.

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

// 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); 

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

 Смежные вопросы

  • Нет связанных вопросов^_^