Я создаю комплексное решение на основе AJAX в качестве модуля на сайте Drupal 7. Я решил не писать автономный PHP-скрипт для ответа на мой jQuery-вызов ajax, а реализовать код в моем модуле drupal.Drupal 7 function ajax responder
Моя проблема заключается в установлении связи между jquery и DRUPAL i: e функцией, которая отвечает на мое CLICK EVENT.
Я использую следующий код:
function staff_filter_menu(){
$items = array();
$items['staff/filtering/results/%'] = array(
'page callback' => 'staff_filter_function',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'delivery callback' => 'staff_filter_deliver',
);
$items['staff/filtering/saveclipboard'] = array(
'page callback' => 'staff_filter_savetoDB',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'delivery callback' => 'staff_filter_deliver',
);
drupal_flush_all_caches();
return $items;
}
Но, он перестал работать, когда я остановился, неустановленного и перезапустить модуль. Кажется, это не надежная стратегия.
Я вижу вашу точку Clive, но причина, по которой я вызываю drupal_flush_all_caches, заключается в том, что меню, которое я пытался создать (первое выше), не было создано. После очистки кеша необоснованное количество раз, оно, наконец, было создано ... поэтому я «заставил его», очистив кеш от моего кода. ТАКЖЕ, это лучший способ обеспечить обратный вызов AJAX в Drupal? – sisko
@sisko Вы имеете в виду использование метода обратного вызова доставки? Если да, то да, я думаю, что это лучший способ сделать это ... основные функции AJAX, похоже, делают это так: – Clive