私が知っているのDrupal 7でフォームを再構築しようとしていますその「form_build_id」(例えばフォーム_eNZLqaZWy7-6kYuGma5Cxg1Gru7Tmr9W2tsofSJxSg)私はこのhook_menuとメニューのコールバック関数を定義しのDrupalでフォームを再構築する方法7
:
/**
* Implements hook_menu().
*/
function set_menu_menu() {
$items['admin/structure/set_menu/rebuild/%'] = array(
'title' => 'Rebuilt',
'page callback' => 'set_menu_ajax_rebuild',
'page arguments' => array(4),
'access callback' => TRUE,
);
return $items;
}
function set_menu_ajax_rebuild($form_build_id) {
$form_state = form_state_defaults();
$form = form_get_cache($form_build_id, $form_state);
$form_state['no_redirect'] = TRUE;
// @see drupal_rebuild_form()
$form_state['set_menu']['count']++;
$form_state['rebuild'] = TRUE;
drupal_process_form($form['#form_id'], $form, $form_state);
}
私はこの http://www.example.com/admin/structure/set_menu/rebuild/form-mQVd8FeimUAba8xuro38Q2_4phHZ6gupegEuY_ddKLsのようなURLを押すことで、フォームを再構築したい - このURLはエラーを表示しませんが、それは私のフォームを再構築しません。
コードは決してフォームを再構築しません。フォームを再構築するにはどうすればよいですか?
ありがとう、マーティン。
1.プログラムされたprocess_input、redirect、submittedd、executedは、falseに設定されています。常にプロセスが設定されていません。 2.検証エラーは表示されません。 3. no_redirectが1に設定されます。 – MPeli