Несколько аргументов в меню Обратный вызов
-
28-09-2019 - |
Вопрос
Я знаю, как пройти один аргумент в меню обратный вызов
$items['someaddress/%'] = array(
'title' => 'title',
'page callback' => 'some_function',
'page arguments' => 1,
'type' => MENU_CALLBACK
);
Я не понимаю, почему проходит аргумент $_POST['nid']
Но это работает. Это соответствует аргументу страницы 1.
function some_function (){
$node = isset($_POST['nid']) ? node_load($_POST['nid']) : FALSE;
}
Сейчас я пытаюсь передать несколько аргументов. $items['someaddress/%/%/%'] = array(
И ищет образец кода того, как я это делаю.
Спасибо!
Решение
Используйте массив для page arguments
:
$items['someaddress/%/%/%'] = array(
'title' => 'title',
'page callback' => 'some_function',
'page arguments' => array(1, 2, 3),
'type' => MENU_CALLBACK,
);
function some_function($arg1, $arg2, $arg3) {
// Insert code here
}
Вы всегда должны держать Аргументы передавались в меню обратных вызовов как массив, так или иначе.
FYI: Поведение, которое вы видите, так это то, как создана система меню «Друпал». Число соответствует каждому аргументу, переданному в меню. 1 - первый аргумент, 2 - второй и т. Д.
Не связан с StackOverflow