...
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.
...
Tip |
---|
A veces el "hook" de observación también puede servir como un "hook" de acción. Usted no necesita hacer nada para mostrarlasmostrarlos. 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 name | 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".
...
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 solo argumento es pasado: la matriz de información de contexto diferente enviado al "hook".
...
Code Block |
---|
public function install() { return parent::install() && $this->registerHook('NameOfHook'); } |
Tip |
---|
TNo No hay necesidad de utilizar el método del módulo "uninstall" para eliminar el "hook". |
...
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 de "hook".
Code Block |
---|
class HookCore extends ObjectModel { // ... static public function updateProduct($product) { $params = array('product' => $product); return Module::hookExec('updateProduct', $params); } // ... } |
Llamar al "hook" denominado "updateProduct" será lo siguiente en el corazón núcleo de PrestaShop.
Code Block |
---|
Hook::updateProduct(new Product(/* ... */)); |
Note |
---|
Hemos llamado a la clase "HookCore" utilizando "Hook" como el nombre de la clase. ¡Esto se debe a la anulaciónal reemplazo! |
¿Cómo agregar uno nuevo?
...
Para crear su propio y pequeño "hook" personal, simplemente guarde una fila en el cuadro la tabla de la base de datos "ps_hook" con el nombre de su "hook". (Vea 0 y 1 si es compatible con LiveEdit)
...