1

モジュールを作成していて、ページ ハンドラー関数から form_submit 関数で設定された値を取得する必要があります。その理由は、ページ ハンドラーと同じページでフォーム送信の結果をレンダリングしているためです。

私はこれを機能させていますが、私は好きではないグローバル変数を使用しています。これに $form_state['storage'] を使用できるようにしたいのですが、ページ ハンドラーから $form_state 変数にアクセスできないため、使用できません。

助言がありますか?

4

1 に答える 1

0

RE: Drupal: フォームの結果をフォームと同じページにレンダリングする方法

ページ ハンドラーで $form_state にアクセスすることはできませんが、フォーム ビルダー関数で自動的に使用できるようになると思います。次のようなものを使用してダンプできるかどうかを確認します

function _ncbi_subsites_show_paths_form($form_state) {
  dsm($form_state);
 // everything else
}

もう 1 つの可能性は、グローバルを使用するよりもはるかに優れているわけではありませんが、Drupal の variable_set() および variable_get 関数を使用することです。

単一の値だけを扱っている場合は、サブミット ハンドラーの $form['#redirect'] から URL 引数としてページに渡すことができます。

于 2010-05-05T07:20:39.177 に答える