• Desarrollo de modulos con Drupal. Capitulo 3

    El sistema de módulos de Drupal se basa en el concepto de "Hooks". Mediante ellos podemos conseguir extender su funcionalidad.

    Cuando Drupal gestiona una petición de un usuario, lo hace a través de una de serie de pasos. En cada uno de estos pasos van ejecutando una serie de funciones (Hooks) que no son más que llamadas a los módulos activos en el sistema en busca de una función que cumpla con un patrón determinado. Cuando Drupal encuentra dicha función, la ejecuta y usa los datos que devuelve para construir la respuesta que se envía al usuario.

    Por ejemplo, si queremos que nuestro módulo se muestre en un bloque dentro de nuestra página, deberemos definir una función con el nombre _block(). En este caso, diremos que nuestro módulo implementa el  hook_block(). Como hemos visto, basta sustituir la palabra reservada hook por el nombre de nuestro módulo.

     

    ¿Por dónde empiezo?

    En estos momentos estará un poco perdido y no sabrá por donde empezar, ni qué hooks tiene que implementar para desarrollar su módulo. Es aquí donde surge  la extensa documentación de Drupal. En concreto, le serán de gran ayuda los siguientes enlaces:

    • Module developer's guide. Donde se explica de una manera pormenorizada todo lo que hemos ido tratando a lo largo de estos cápitulos.
    • Api de Drupal. Donde vienen explicadas todas las funciones y variables de Drupal. Una sección de mucha utilidad para el desarrollo de  modulos es Hooks donde vienen explicados todos los hooks que están disponibles en el core de Drupal. Dentro de la api vienen también ejemplos hechos con alguno de los hooks más relevantes.

    Es muy difícil decir cuáles son los hooks más importantes, pues dependerá en gran medida, del módulo que se vaya a desarrollar. Aunque podemos presentar algunos de los que no suelen faltar:

    • hook_help(): Ofrece ayuda online al usuario.
    • hook_menu(): En el que se definen las entradas en el menú, sus rutas y llamadas a funciones.
    • hook_perm(): Donde se definen los permisos de usuario para el acceso a las distintas funcionalidades del modulo.
    • hook_form(): Donde se presenta el formulario de edición de un nodo.

    Ahora, sólo faltaría tener clara la funcionalidad que va a tener el módulo y empezar escribir el código.

    Share this post

    Curso de Drupal


    Sobre Nosotros

    Mediaglobe Innova, empresa creada en Málaga, se presenta como un grupo joven de ingenieros y profesionales dedicados a la investigación, diseño, desarrollo y aplicación de tecnologías de la información para la innovación en la empresa.

    Últimos Tweets

    Facebook