paginas web barcelona

Centro Web Barcelona

Soluciones en Internet

Prestashop que es un hook



En Prestashop encontraremos muy a menudo el término Hook y algunos os preguntaréis para que sirven y que hacer con ellos.

webs prestashopA los Hooks siempre llegaremos a través del modo de administración o Backoffice. Los módulos que tenemos instalados se situan en diferentes Hooks.

El término proviene del inglés ‹gancho› y es un conector entre los módulos que tenéis instalados para que realizen una acción. Con un Hook puedes modificar la posición donde se ejectura el módulo (por ejemplo, que se vean los productos mas vistos por encima de los productos más vendidos). Si el Hook es de acción podremos hacer que primero se ejecute una acción y luego otra, en un orden determinado. Son los llamados Hooks de acciones y Hooks visibles.

Las plantillas de Prestashop pueden ser muy diferentes entre sí y no tienen siempre la misma estructura, por ejemplo una plantilla puede tener una columna a la derecha y otra una columna lateral a la izquierda. En el Panel de Administración podremos ver todas estas disposiciones en Posiciones de Módulos y que Hooks estñán o no activados.

Podemos creat también un nuevo Hook. Para ello deberemos entrar en nuestra base de datos y crear un registro `prefijo_hook` introduciendo un nombre sin espacios, título y descripción.

tienda internet barcelonaEn relación al código tenemos que sobreescribir el controlador de esa página y crear una nueva variable para asignarle el hok creado.

Por ejemplo: self::$smarty->assign(array('HOOK_CATEGORY_HEADER' => Module::hookExec('categoryHeader')));

En el caso de un Hook para la página category.php, sobreescribir el controlador CategoryController.php.

Deberemos también invocar la variable en el archivo de la página correspondiente, por ejemplo: category.tpl.

Cada módulo debe registrar los hooks donde pueden colocarse o nos daré el error "este módulo no puede transplantarse..." . Cada mósulo tiene un archivo php con el mismo nombre que la carpeta contenedora y que es donde se registran los hooks.