如何通过drupal hook_menu发送多个参数

时间:2011-09-13 15:52:43

标签: php drupal drupal-6 drupal-7

我在下面有这个菜单钩子,我正在向函数发送两个参数。

但是在函数中我只接收第一个参数。

有没有人知道如何使用Drupal菜单系统发送和获取多个参数?

function drupal_menu(){
    $items = array();
    $items['drupal/%/%'] = array(
        'title' => t('Welcome to the Hello World Module'),
        'page callback' => 'drupal_page',
        'page arguments' => array(1,2),
        'access arguments' => array('access content'),
        'type' => MENU_CALLBACK,
    );
    return $items;
}


function drupal_page($arg1, $arg2) {    
    return drupal_json(array('mess1'=>$arg1,'mess2'=>$arg2));
}

2 个答案:

答案 0 :(得分:8)

你已经按照正确的方式做了,如果它不起作用,请尝试刷新你的缓存。由于您添加了第二个参数,因此它们可能尚未被清除,Drupal会缓存从hook_menu()返回的项目,因此不必在每个页面上调用它。

答案 1 :(得分:1)

无论如何,你是正确的方式...如果它不适合你,那么尝试以下

function drupal_page($arg1, $arg2) {
  $arg1_new = arg(1) ; 
  $arg2_new = arg(2) ; 
  return drupal_json(array(
    'mess1'=>$arg1_new,
    'mess2'=>$arg2_new
    )
  );
}