Как получить несколько параметров, отправленных через drupal hook_menu - PullRequest
7 голосов
/ 13 сентября 2011

У меня есть этот хук меню ниже, с помощью которого я отправляю два параметра в функцию.

Но в функции я получаю только первый параметр.

Кто-нибудь знает, как отправить и получить несколько параметров, используя систему меню 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 ]

8 голосов
/ 13 сентября 2011

Вы уже делаете это правильно, если это не работает, попробуйте очистить кэш.Возможно, они не были очищены с тех пор, как вы добавили второй аргумент, и элементы кэша Drupal возвращаются из hook_menu (), поэтому его не нужно вызывать на каждой странице.

1 голос
/ 13 сентября 2011

Вы все равно на правильном пути ... Если это не работает для вас, попробуйте следующее

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