【问题标题】:How do I programmatically update an existing submitted webform submission in Drupal?如何以编程方式更新 Drupal 中已提交的现有 Web 表单提交?
【发布时间】:2016-02-18 13:37:21
【问题描述】:

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

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

【问题讨论】:

    标签: php drupal drupal-7 drupal-webform


    【解决方案1】:

    问题有两个:

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

    我没有使用正确的 webform 函数来加载数据。

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

    文档:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-22
      • 2010-12-05
      • 2020-10-03
      • 2018-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多