2017-10-10 7 views
0

私はカスタムサブミットハンドラを持っていますが、カスタムハンドラが更新されたデータをdbから取得する必要があるため、Drupalがデータベースを更新するデフォルトのサブミットハンドラを待機します

デフォルトハンドラが終了するのを待つようにDrupalに指示するにはどうすればよいですか?また、カスタムハンドラを最初に実行するのか、デフォルトを実行するのかもわかりません。しかし、カスタムハンドラが最後に実行されることを確認するためにarray_shift()を試しました。それはハンドラを同期して実行しますか?私のフォームで

は、私は私のカスタムハンドラを登録し、このコードを持って、変更:

$form['#submit'][] = 'my_custom_handler'; 

私がフォームを送信すると、私は私のデータベースはmy_custom_handlerを実行する前に、(フォーム内の値で)更新したいです私のカスタムハンドラはデータベースからデータを取得する必要があり、更新されたものでなければなりません。

ありがとうございます!

+0

提案するだけで、メニュー項目を作成し、フォーム送信後にメニュー項目にリダイレクトすることができます。この方法で、新しいメニュー項目でmy_custom_handlerを呼び出すことができます。 –

答えて

0

$form['#submit']は、サブミットハンドラの配列で、最初から最後まで実行されます。そして、もしあなたがあなたが単に既定のものの後に実行する必要があります記載したように提出ハンドラを追加します。ハンドラをデフォルトのものよりも前に実行させたい場合にのみ、array_shift()が必要です。

ここからわかるように、ハンドラーを追加しています。おそらく問題はどこか他の場所ですか?

関連する問題