0

複数ステップの Drupal ウェブフォームで、前のステップのページで入力された値を表示することはできますか?

たとえば、最初のステップ ページでusernameフィールドを「John」としてキャプチャすると、次のステップ ページで挨拶を表示して、Hello John, ...?

ps 匿名ユーザーの場合。

4

2 に答える 2

2

これが古いことは知っていますが、同じものが必要だったので、これが他の人の検索に役立つことを願っています.

カスタム Webform コンポーネントの前の Webform ステップからの値が必要でした。フックはorを_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のステップの値も含まれます。

于 2014-08-28T12:10:54.253 に答える
0

ここでマルチステップフォームの例を見てください: http://drupal.org/node/717750

一般的な考え方は、submit 関数で投稿されたすべての値を に保存し$form_state['storage']、後で次のステップでアクセスできるようにすることです。

編集: 作成したばかりの [前へ] ボタンと [次へ] ボタンの両方を含む例を見てください: http://zgadzaj.com/basic-drupal-multipart-form-example-with-previous-and-next-buttons

于 2011-06-20T11:41:48.627 に答える