Comprensión y uso de hooks
Este artículo fue escrito por Julien Breux, y publicado el 5 de mayo de 2011 en el blog PrestaShop.
¿Qué es un “hook”?
Como se habrá dado cuenta, PrestaShop es un software que le permite crear módulos diseñados para interactuar directamente con el corazón de la muestra de soluciónes o eventos.
Los "hooks" le permiten recuperar estos eventos o cambiar la muestra.
Así que existen dos tipos distintos de "hooks".
"Hooks" de acción (los que le permiten, por ejemplo, enviar un e-mail cuando un cliente crea una cuenta de usuario)
"Hooks" de observación (los que le permiten, por ejemplo, mostrar un módulo en una columna)
A veces el "hook" de observación también puede servir como un "hook" de acción. Usted no necesita hacer nada para mostrarlos. Por ejemplo, usted puede hacer una tarea recurrente en la página de inicio con el "hook" "home".
Si tomamos el ejemplo del tema básico de PrestaShop, en la página principal, la solución utiliza "puntos de fijación" de la siguiente manera:
Nombre del Hook
Decripción
header
Hook del encabezado
top
Hook de la parte superior
leftColumn
Hook de la columna izquierda
home
Hook de la página de inicio
rightColumn
Hook de la columna derecha
footer
Hook del pie de página
Como puede ver, todos los "hooks" utilizados son "hooks de observación".
Esto significa que cada uno de sus módulos de forma independiente puede aferrarse a ellos y mostrar la información.
¿Cómo se utilizan?
En primer lugar, para usar correctamente el "hook", usted debe dirijirse a la clase de su módulo y crear un método no estático, público a partir de la palabra "hook" y el nombre del "hook" utilizado. Entonces, sólo un argumento es pasado: la matriz de información de contexto diferente enviado al "hook".
A continuación, es importante a la hora de instalar el módulo, adherirlo a varios "hooks" deseados . Para ello, utilice el método "registerHook", el cual sólo acepta un parámetro — el nombre del hook.
No hay necesidad de utilizar el método del módulo "uninstall" para eliminar el "hook".
Por último, es importante entender cómo llamar a estos "hooks" con el fin de crear otros nuevos más adelante.
Hay dos llamadas en PrestaShop para "hooks". La segunda llamada se basa en la primera.
La primera llamada es el método directo. Tiene dos argumentos: el nombre del "hook" y una matriz de información de contexto diferente.
La segunda llamada es un "acceso directo" a la primera para obtener una muestra "limpia" cuando realice la llamada. El conjunto de "accesos directos" están disponibles en la clase "hook".
Llamar al "hook" denominado "updateProduct" será lo siguiente en el núcleo de PrestaShop.
Hemos llamado a la clase "HookCore" utilizando "Hook" como el nombre de la clase. ¡Esto se debe al reemplazo!
¿Cómo agregar uno nuevo?
Si hasta ahora ha seguido el uso de "hooks" y cómo usarlos en PrestaShop, entonces usted seguramente se ha dado cuenta que le faltan algunos "hooks" como "MakeCoffe", "MakeFood" o "RespondToClientsForMe". ¡No entre en pánico!
Para crear su propio y pequeño "hook" personal, simplemente guarde una fila en la tabla de la base de datos "ps_hook" con el nombre de su "hook". (Vea 0 y 1 si es compatible con LiveEdit)
¡Y, por último, sólo utilícelo como lo hemos hecho en este artículo!
Last updated