Ich habe eine Karte, die Markierungen über Ajax auf verschiedenen / zahlreichen Kartenereignissen lädt. Derzeit definiere ich einen benutzerdefinierten hook_menu()
Seitenrückruf für meinen Artikel, der meine json / js druckt.
Da mein Seitenrückruf keinen Inhalt zurückgibt und nur Inhalt druckt , rendert Drupal nicht die vollständige Vorlage, das Menü usw. und ermöglicht mir daher, eine Seite nur mit meinem JavaScript zurückzugeben.
Obwohl dies funktioniert, glaube ich, dass Drupal immer noch vollständig bootet, was bedeutet, dass es eine Menge Overhead hinzufügt, den ich gerne fallen lassen würde.
Ich habe mir Hochleistungs-JavaScript-Callback-Handler angesehen , der sich als "Hochleistungs-JavaScript-Callback-Handler" ausgibt und der, kurz gesagt, ein js.php
Kompliment bietet index.php
, um Ihre Anforderungen an / limit / zu richten und anzupassen. Optimieren Sie das Bootstrapping, das Drupal standardmäßig durchführt.
Leider hat das js- Projekt noch kein D7-Release ( Petition für eines hier ), was uns an den Anfang führt ...
Was ist der schnellste Weg, um einen Ajax-Rückruf in Drupal zu implementieren?
quelle
Ein bisschen spät, aber vor allem , wenn Sie , dass die Ajax - Rückruf für den Abruf (Check für neue Nachrichten zum Beispiel) verwenden, gibt es eine interessante Alternative: Drupal node.js Integration .
Anstatt eine Abfrage durchzuführen, können Sie ein ereignisähnliches System erstellen, in dem Benutzer (auch bekannt als JS auf ihrer Seite) eine offene Verbindung zu Ihrem node.js-Server halten. Wenn etwas passiert, können Sie alle Benutzer direkt über node.js benachrichtigen.
quelle
Da Sie einen Ajax-Callback in Drupal implementieren möchten, bietet sich die Verwendung des JS-Moduls an. Ich habe nur einen kurzen Blick auf den Code geworfen und es ist im Grunde das, was ich vorgeschlagen hätte (aber mit viel mehr Liebe zum Detail). Der Maintainer ist auch einer der besten Drupal-Entwickler.
Es sieht so aus , als müssten Sie
module_load_include()
einen manuellereninclude 'sites/all/modules/contrib/...';
Ansatz verwenden, wenn Sie APIs aus anderen Modulen verwenden möchten.Das Problem, von dem Sie sprechen, war in letzter Zeit ein heißes Thema. Dries 'Keynote von DrupalCon Chicago sprach darüber, wie Drupal 8 bessere APIs für Callbacks und Nicht-HTML-Ausgabeformate benötigt.
quelle