Tengo un mapa que carga marcadores a través de ajax en varios / numerosos eventos de mapas. Actualmente, defino una devolución de llamada de página personalizada para mi hook_menu()
artículo que imprime mi json / js.
Dado que la devolución de llamada de mi página no devuelve ningún contenido y solo imprime contenido, Drupal no muestra la plantilla completa, el menú, etc. y, por lo tanto, me permite devolver una página solo con mi JavaScript.
Si bien esto funciona, creo que Drupal todavía tiene un arranque completo, lo que significa que está agregando una gran cantidad de gastos generales que me gustaría eliminar.
He estado buscando un controlador de devolución de llamada de JavaScript de alto rendimiento , que se enorgullece de ser un "controlador de devolución de llamada de JavaScript de alto rendimiento" y que, en resumen, parece un js.php
complemento index.php
para dirigir sus solicitudes y personalizar / limitar / optimizar el arranque Drupal lo hace por defecto.
Desafortunadamente, el proyecto js aún no tiene un lanzamiento D7 ( petición para uno aquí ), lo que nos lleva al principio ...
¿Cuál es la forma más rápida de implementar una devolución de llamada Ajax en Drupal?
fuente
Un poco tarde, pero especialmente si está usando que de devolución de llamada Ajax para el sondeo (comprobación de nuevos mensajes, por ejemplo), hay una alternativa interesante: la integración de Drupal Node.js .
En lugar de sondear, le permite construir un sistema similar a un evento, donde los usuarios (también conocidos como JS en su página) mantienen una conexión abierta a su servidor node.js. Si sucede algo, puede notificar directamente a todos los usuarios a través de node.js.
fuente
Dado que desea implementar una devolución de llamada Ajax en Drupal , usar el módulo JS parece una buena apuesta. Acabo de echar un vistazo rápido al código, y es básicamente lo que hubiera sugerido (pero con mucha más atención a los detalles). El responsable también es uno de los principales desarrolladores de Drupal.
Parece que tendrá que usar
module_load_include()
o quizás uninclude 'sites/all/modules/contrib/...';
enfoque más manual si necesita usar API de otros módulos.El problema del que estás hablando ha sido un tema candente últimamente. La nota clave de Dries de DrupalCon Chicago habló sobre cómo Drupal 8 necesita mejores API para realizar devoluciones de llamada y formatos de salida que no sean HTML.
fuente