Я использую hook_menu для установки ссылки, которую я вызываю через JQUERY из приложения AJAX.
Моя реализация ловушки выглядит следующим образом:
function staff_filter_menu(){
$items = array();
$items['staff/filtering/results/%'] = array(
'page callback' => 'staff_filter_function',
'page arguments' => array(3),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'delivery callback' => 'staff_filter_deliver',
);
return $items;
}
Эта ссылка является точкой контакта для моего приложения ajax, которое представляет собой простое текстовое поле, в котором пользователи вводят некоторые данные. * staff_filter_function * выполняет поиск в базе данных и возвращает некоторые подходящие данные. Код Ajax выглядит следующим образом:
$.ajax({
url: Drupal.settings.CALL_BACK + '/' + $(this).val(),
success: function($data){
.... more stuff done here
}
});
Все работает отлично, но для одной маленькой детали.
Я хочу разрешить ярлык, который позволит отображать все результаты. Этот ярлык просто набирает один пробел.
Но поскольку hook_menu ожидает аргумент в конце URL-адреса, мой ajax-запрос завершается неудачно, когда я набираю пробел. Он отлично работает, когда я набираю реальный контент.
Это просто для полноты, и приятно иметь возможность ... если кто-то может поделиться некоторыми идеями, я буду очень признателен.