Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get multiple parameters sent via drupal hook_menu

I've got this menu hook below by which I'm sending two parameters to the function.

But in the function I am only receiving the first parameter.

Does any one know how to send and get multiple parameters using the Drupal menu system?

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));
}
like image 407
Vikas Naranje Avatar asked Sep 13 '11 15:09

Vikas Naranje


2 Answers

You're already doing it exactly the right way, if it's not working try flushing your caches. It's possible they haven't been cleared since you added the second argument, and Drupal caches items return from hook_menu() so it doesn't have to be called on each page.

like image 177
Clive Avatar answered Oct 01 '22 19:10

Clive


You are on the right way anyway ... If it is not working for you, then try the following

function drupal_page($arg1, $arg2) {
  $arg1_new = arg(1) ; 
  $arg2_new = arg(2) ; 
  return drupal_json(array(
    'mess1'=>$arg1_new,
    'mess2'=>$arg2_new
    )
  );
}
like image 20
maged adel Avatar answered Oct 01 '22 18:10

maged adel