2012-04-30 3 views
0

Я пытаюсь восстановить форму в Drupal 7. Я знаю его «form_build_id» (например, форма-_eNZLqaZWy7-6kYuGma5Cxg1Gru7Tmr9W2tsofSJxSg)Как восстановить форму в Drupal 7

Я определил это hook_menu и меню обратного вызова функции:

/** 
* 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); 

} 

Я хотел бы, чтобы восстановить форму, нажав URL, как этот http://www.example.com/admin/structure/set_menu/rebuild/form-mQVd8FeimUAba8xuro38Q2_4phHZ6gupegEuY_ddKLs - этот URL отображает никакой ошибки, но не восстановить свою форму.

Код никогда не перестраивает какую-либо форму. Как я могу восстановить форму?

спасибо, Martin.

ответ

0
  1. Что print_r возврат к стоимости ($ form_state [ 'always_process']) и ($ form_state [ 'запрограммирован'])?

  2. Подтвердите, что вы не получаете никаких ошибок проверки, которые остановят восстановление $ form_state.

  3. Также может быть, что no_redirect, который сохраняет форму от перестройки, но мне нужно будет увидеть больше того, что вы пытаетесь сделать здесь.

+0

1. запрограммированный, process_input, redirect, Представленныйd, выполненный, имеет значение false. Всегда процесс не устанавливается вообще. 2. Я не получаю ошибки проверки. 3. no_redirect установлен в 1. – MPeli

Смежные вопросы