Drupal ベースの Web アプリ用に「クイック リンク」ドロップダウン選択ボックスを作成しました。選択ボックスは標準の Drupal フォームとして実装され、サイトのすべてのページに表示されます。ユーザーがオプションを選択してフォームを送信すると、ユーザーを適切なページにリダイレクトしたいのですが、終了したら元のページに戻してもらいます。
たとえば、ユーザーは node/5 にいて、別のフォームに移動するクイック リンクを選択します。彼らがこのフォームに記入したら、node/5 に戻してほしい。
drupal_get_destination を使用して ?destination=node/5 クエリ文字列パラメーターを宛先フォームに追加することで、システムの他の部分でこれを実現しました。これはうまく機能します。ただし、私のクイックリンク フォーム送信ハンドラーでは、ターゲット ページを設定するために form_state['redirect'] を設定しています。フォームが送信されます。
function dh_seo_quick_links_form_submit($form, &$form_state) {
$form_state['redirect'] = $form['#link_targets'][$link].'?'.drupal_get_destination();
}
私はこれについて完全に間違った方法で行ったことがありますか? このリダイレクトは可能ですか?$_REQUEST 変数を直接使用して何か賢いことはできますか?