2011-04-20 3 views
0

У меня есть пункт меню, и я хочу вызвать на нем две функции. Вот мой код. $items['admin/proformative/reports'] = array(
'title' => 'report',
'page callback' => 'drupal_get_form',
'page arguments' => array('test_reports'),
'access callback' => TRUE,
'type' => MENU_LOCAL_TASK,
);
Он работает нормально, но, как и в page_arguments, я вызываю одну функцию. И теперь я хочу назвать две функции. Я изменяю вышеуказанный код следующим образом, но не работал.как вызвать две функции из пункта меню?

$items['admin/proformative/reports'] = array(
'title' => 'report',
'page callback' => 'drupal_get_form',
'page arguments' => array('test_vbo', 'test_reports'),
'access callback' => TRUE,
'type' => MENU_LOCAL_TASK,
);
Но он выполняет только функцию test_vbo, и я хочу, чтобы оба выполнялись.

Что мне нужно для достижения вышеуказанной техники.

ответ

1

Обратный вызов вашей страницы - это drupal_get_form, который отображает форму, возвращаемую из аргумента страницы, которая является функцией test_vbo. Если вы хотите отобразить несколько форм, вы можете обернуть вызовы drupal_get_form в одну функцию и использовать их как обратный вызов страницы:

$items['admin/proformative/reports'] = array(
    'title' => 'report', 
    'page callback' => 'test_my_function', 
    'access callback' => TRUE, 
    'type' => MENU_LOCAL_TASK, 
); 

function test_my_function() { 
    return drupal_get_form('test_vbo') . drupal_get_form('test_reports'); 
} 
Смежные вопросы