Junio 17, 2013
estebanvalerioh
Si estamos iniciando con Drupal, probablemente escuchemos mucho la palabra hooks, pero:
- ¿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
- ¿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!
Saludos!