繁体   English   中英

如何以编程方式更新 Drupal 中现有提交的 Web 表单提交?

[英]How do I programmatically update an existing submitted webform submission in Drupal?

我正在尝试在 Drupal 规则中使用 PHP 来更新提交的网络表单提交中的值。 我可以正确访问和查看数据。 当我为字段分配新值时,如果我使用它甚至会正确显示:

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

但是,当我导航到提交结果页面时,该字段没有更新。

我尝试使用webform_submission_update() function 来推送我的更改,但仍然没有运气。

问题:如何以编程方式更新 Drupal 中现有提交的 Web 表单提交?

代码:

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

问题有两个方面:

我没有在网络表单的 NID 上使用node_load()

我没有使用正确的网络表单 function 来加载数据。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM