Mam mapę, która ładuje znaczniki za pośrednictwem ajax na różne / liczne wydarzenia na mapie. Obecnie definiuję niestandardowe wywołanie zwrotne strony dla mojego hook_menu()
elementu, który drukuje moje json / js.
Ponieważ moje wywołanie zwrotne strony nie zwraca żadnej treści, a jedynie drukuje treść, Drupal nie wyświetla pełnego szablonu, menu itp., A zatem pozwala mi zwrócić stronę tylko z moim JavaScript.
Chociaż to działa, uważam, że Drupal wciąż w pełni ładuje się, co oznacza, że dodaje dużo kosztów ogólnych, które chciałbym upuścić.
Patrzyłem na wysokowydajny moduł obsługi wywołań JavaScript , który szczyci się jako „wysokowydajny moduł obsługi wywołań JavaScript” i, w skrócie, wygląda na to, że stanowi js.php
komplement index.php
skierowany do twoich żądań i dostosowuje / limit / optymalizacja ładowania początkowego Drupal domyślnie.
Niestety projekt js nie ma jeszcze wersji D7 ( prośba o jedną tutaj ), co prowadzi nas do początku ...
Jaki jest najszybszy sposób na implementację wywołania zwrotnego Ajax w Drupal?
źródło
Trochę późno, ale zwłaszcza jeśli używasz tego ajax wywołania zwrotnego dla odpytywania (sprawdź czy są nowe wiadomości na przykład), jest interesującą alternatywą: integracja Drupal node.js .
Zamiast odpytywania pozwala zbudować system podobny do zdarzenia, w którym użytkownicy (zwani także JS na swojej stronie) utrzymują otwarte połączenie z serwerem node.js. Jeśli coś się stanie, możesz bezpośrednio powiadomić wszystkich użytkowników za pośrednictwem node.js.
źródło
Ponieważ chcesz zaimplementować wywołanie zwrotne Ajax w Drupal , użycie modułu JS wygląda na dobry zakład. Właśnie rzuciłem okiem na kod i to w zasadzie to, co bym zasugerował (ale z dużo większą dbałością o szczegóły). Opiekun jest również jednym z najlepszych programistów Drupal.
Wygląda na to, że będziesz musiał użyć
module_load_include()
lub być może bardziej manualnegoinclude 'sites/all/modules/contrib/...';
podejścia, jeśli musisz użyć interfejsów API z innych modułów.Sam problem, o którym mówisz, był ostatnio gorącym tematem. Myśl Dries z DrupalCon Chicago mówiła o tym, jak Drupal 8 potrzebuje lepszych interfejsów API do wykonywania wywołań zwrotnych i formatów wyjściowych innych niż HTML.
źródło