Hero

¿Qué son los hooks en Drupal y cuales son los más usados?

Junio 17, 2013

estebanvalerioh
Drupal
Desarrollo de Modulos
PHP
Programación

Si estamos iniciando con Drupal, probablemente escuchemos mucho la palabra hooks, pero:

  1. ¿Qué son los hooks en Drupal?

Son funciones PHP que utilizamos en nuestros módulos, el nombre de las mismas se compone de la siguiente forma:

function hook_name() {
}
hook => nombre del módulo
name => nombre del hook
  1. ¿Para qué sirven los hooks en drupal?

Aumentan la funcionalidad de Drupal permitiendo a los módulos interactuar con el core. De esta manera podemos alterar los comportamientos default de Drupal, y agregar nueva funcionalidad, si esos son los requerimientos para nuestro sitio.

Veremos a continuación, una descripción de los hooks más comunes utlizados en nuestros sitios:

  • hook_boot( )

  • La función hook_boot() se ejecuta en el booteo de drupal

  • Afecta las páginas cacheadas

  • Se ejecuta antes de que los módulos y archivos de Drupal se carguen a memoria.

  • No se usa mucho en módulos personalizados.

  • hook_init( )


  • La función hook_init() es un hook de iniciación

  • No afecta a las paginas cacheadas

  • Se ejecuta cuando los módulos y archivos están cargados a memoria, por lo tanto, podemos hacer uso de todas las funciones que vienen en los módulos instalados.

  • hook_ form_alter( )


  • Nos permite alterar los formularios que se usan en Drupal

  • Permite agregar y remover elementos al formulario

  • Permite agregar y remover funciones de validación

  • Permite agregar y remover funciones del submit del form

  • hook_theme( )


  • Nos permite crear funciones de tematización que podemos usar en nuestro sitio.

  • Podemos pasarle variables, las cuales utilizamos para crear HTML y presentarlo en una página.

  • hook_node_[acción]( )


El token [acción] será cambiado por una acción específica. Ejemplo: hook_node_save().

  • Son una serie de funciones que nos permite interactuar con las acciones que se le aplican a los nodos, como save, presave, update, etc.

  • hook_user_[acción]( )


El token [acción] será cambiado por una acción específica. Ejemplo: hook_user_save().

  • Son una serie de funciones que nos permite interactuar con las acciones que se le aplican a los usuarios de Drupal, como save, presave, update, etc.

  • hook_block_[acción]( )


El token [acción] será cambiado por una acción específica. Ejemplo: hook_node_info().

  • Son funciones que nos permiten crear nuevos bloques para utilizar en nuestro sitio, existen las funciones hook_node_info() y hook_node_view().

Espero les haya sido de utilidad!

drupal man 0

Saludos!

Recibe consejos y oportunidades de trabajo 100% remotas y en dólares de weKnow Inc.