我尝试在单个hook_menu功能中调用多个函数。但是我没有在页面回调中获得多个功能。请帮助我解决这个问题..我是我的代码,我尝试访问getvalue_my_form和在pagecallback中获取getvalue_show ..
<?php
global $ema;
$ema=$_POST['email'];
drupal_set_message('email:'.$ema);
function getvalue_menu() {
$items = array();
$items['formtest1'] = array(
'title' => 'valuegetting',
'page callback' => 'drupal_get_form',
'page arguments' => array('getvalue_my_form'),
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function getvalue_my_form($form, &$form_state) {
$form['image_file'] = array(
'#title' => t('upload Banner:'),
'#type' => 'file',
);
return $form;
}
function getvalue_show()
{
$em="hi welcome";
return $em;
}
答案 0 :(得分:2)
你不写全球$ ema;等钩外功能。如果你想调用两个函数,假设你的模块名是getvalue,你可能想要这样做。
function getvalue_menu() {
$items = array();
$items['formtest1'] = array(
'title' => 'valuegetting',
'page callback' => 'getvalue_two_functions',
'page arguments' => array(),
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function getvalue_two_functions() {
// call first function
$two_values['first'] = 1;
// call second function
$two_values['second'] = 2;
return $two_values;
}
在URL中键入formtest1时,它会到达getvalue_two_functions()。表单功能只是另一个drupal调用,你可以调用
drupal_get_form('getvalue_my_form');