在Drupal多步webform中显示上一页的值?

时间:2011-06-20 07:45:33

标签: drupal drupal-webform

a multi-step Drupal webform中,是否可以显示在上一步页面中输入的值?

例如,第一步页面将username字段捕获为“John”,是否可以在下一步页面中显示问候语,显示Hello John, ...

P.S。对于匿名用户。

2 个答案:

答案 0 :(得分:2)

我知道这是旧的,但我需要同样的东西,所以我希望这有助于其他人搜索。

我需要先前Webform步骤中的值来获取自定义Webform组件。 _webform_redner_[component](...)挂钩不提供formform_state,也提供前面的步骤'数据(超过刚刚提交的上一步骤)不在$_POST中。

要解决此问题,我使用form_build_id变量中的$_POST从Drupal的表单缓存系统中手动检索表单。

  /* ... */
  $form_state = array();
  // Get the form_state to pass on to our build function.
  // Webforms doesn't provide it at this point so we'll need to manually get it using the form's build_id.
  $form = form_get_cache($_POST['form_build_id'], $form_state); 
  /* ... */

您现在拥有整个formform_state,其中还包含之前的步骤'值。

答案 1 :(得分:0)

在这里查看多步骤表单示例:http://drupal.org/node/717750

一般的想法是,在提交功能中,您将所有发布的值保存到$form_state['storage'],稍后您可以访问这些值。

编辑: 看看我刚刚创建的Prev和Next按钮的示例:http://zgadzaj.com/basic-drupal-multipart-form-example-with-previous-and-next-buttons