【发布时间】:2012-04-30 15:45:42
【问题描述】:
我正在尝试在 Drupal 7 中重建一个表单。我知道它的“form_build_id”(例如 form-_eNZLqaZWy7-6kYuGma5Cxg1Gru7Tmr9W2tsofSJxSg)
我定义了这个 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 没有显示错误,但它不会重建我的表单。
代码从不重建任何形式。如何重建表单?
谢谢你,马丁。
【问题讨论】: