ホームページ >バックエンド開発 >PHPチュートリアル >Drupal7 form_PHPチュートリアルの二次開発のポイントと事例
Drupal 7 カスタム モジュールを開発するときは、フォーム ジャンプやリロードを頻繁に使用することになります。
主に3つの重要なポイントを要約します:
1. ページが送信された後、#submit 処理の後、別のページにリダイレクトする必要があります。
2. URL パスに宛先パラメータがある場合、ページは宛先が指す URL に直接ジャンプします。これは制御不能な問題です。
3. 複数のステップのフォームを実装する方法、またはフォームの送信後にフォーム内の送信された値を取得する方法。
1. フォームを別のページにリダイレクト (ジャンプ) します
$form_state['redirect'] の値は文字列または配列にすることができ、値が URL を通過した後、ジャンプ アドレスが生成されます。
$form_state['redirect'] の値が指定されていない場合、デフォルトで現在のページにジャンプします。 drupal_goto(current_path(), array('query' => drupal_get_query_parameters())); これは API での実行方法です。
2.フォームフォームの宛先を指定するとジャンプアドレスも変更できます
drupal_goto 関数では、URL パスに宛先パラメータがある場合、ページは宛先が指すリンクに直接移動することがわかります。その結果、一部のフォームの下にある複数のボタンが送信された後、ページが送信されます。リダイレクトする必要があるものも無限に異なります。
そのため、フォームの #submit 関数では、特定の操作中に宛先を直接削除できます。
3. フォームフォームは複数のステップを実装し、フォームフォームをリロードし、フォームによって送信された値を取得します
これらの質問はすべて、最終的には同じ意味を持ち、フォームの送信を継続できるようになります。ページを更新する代わりに。フォームの #submit 関数で次のコードを実行するだけです:
Drupal7関連のAPI関数を参照してください:
drupal_redirect_form
drupal_goto
drupal_get_destination