Ejemplo básico de formulario Ajax en drupal 7

Si queremos utilizar Drupal para realizar páginas web, hay algunas funcionalidades que son fundamentales saber hacer y manejar. Una de ellas es controlar formulario ajax en drupal. Más concreta mente os voy a mostrar como realizar un campo ajax haciendo una llamada y controlando totalmente el objeto form de Drupal.

Ejemplo sencillo de un formulario ajax en drupal 7

Primero de todo, debemos crear un formulario o capturarlo con hook_form_alter(), en este ejemplo voy ha crear un form desde un módulo con el hook_menu() podemos hacer una página, con una ruta y que nos devuelva un formulario.

Puntualizar que mi módulo se llama

Para ello, en cualquier parte de nuestro módulo o en el archivo creadorDeVialesMasivo.module declaramos el hoo_menu()

Ok, aquí hemos creado un formulario en la ruta ajaxforms, ese formulario debemos declararlo en la función miModulo_formularioAjax(), no voy ha explicar cada detalle del hook_menu(), podéis ver aquí su api,  este artículo no tiene este fin, vamos a realizar un formulario Ajax en drupal.

Si nos dirigimos a la ruta midrupalweb.com/ajaxforms veremos algo como esto. Recordaros que cada vez que cambies o añadáis alguna función de tipo hook tenéis que limpiar cache.

formulario ajax en drupal

Muy bien, se esta quejando de que no encuentra nuestra función con el form, genial, solo tenemos que crearla.

Para ello escribimos lo siguiente:

Ok muy fácil verdad, pero ahora mismo no hace nada, pero ya se ve el efecto de cargando, hay que declarar la última función. Esta se ejecutará en el servidor llamado por ajax, aquí le pondremos toda la lógica y llamadas a la base de datos, si quieres saber como hacer consultas a la a la base de datos de drupal mira este artículo.

Ya tenemos nuestro formulario manejado con ajax en drupal 7.

Os dejo este vídeo donde se explica algo parecido por si os sirve de ayuda.

Sencillo, si tienes alguna duda, ponlo en los comentarios.

 

 

 

 

About ignacio Farré

Técnico en programación web, amigo de MVC y experto en Drupal, Symfony, Prestashop y bootstrap.

Check Also

Theme_preprocess_hook

Acceder a los datos del usuario en drupal 8 y a su imagen – Clases File, Node y User

Acceder a los datos del usuario en drupal 8 es muy fácil, en este artículo …

construir módulo en drupal 8

Cómo crear un módulo en drupal 8 con una página de ejemplo

Drupal en su última versión viene con muchos cambios y uno de ellos es la …

drupal-8

Instalar Drupal 8 en un ubuntu server por consola

Drupal 8 ya está aquí, y está siendo una revolución en cuanto a estructura de …

  • JHONATAN DAVID FERNANDEZ ROSA

    Excelente explicacion, sin embargo debes hacer un cambio en el codigo ” ‘page arguments’ => array(‘miModulo_formularioAjax’),”
    por
    ” ‘page arguments’ => array(‘myModulo_formularioAjax’),” luego todo funciona bien. Dios te bendiga.

    • http://ignaciofarre.com ignacio farre fuentes

      Gracias por el aporte, ya está corregido.
      Me alegro de que le sirva a algien. 😉