Añadir un nuevo hook a un módulo en PrestaShop 1.6

jul 18, 2014 Por José Aranda

Los hooks en PrestaShop se utilizan entre otras cosas para posicionar la visualización de algún módulo en el FrontOffice o BackOffice. Veamos como podemos añadir a nuestros módulos de PrestaShop 1.6 un nuevo hook.

PrestaShop trae diferentes hooks dados de alta y es importante saber cuales son dependiendo de la versión. Estos hooks podemos encontrarlos en la tabla ps_hook de la base de datos.

Vamos a coger un módulo que trae PrestaShop 1.6 como ejemplo para ver como podemos añadirle otro hook donde mostrar contenido en el FrontOffice. Por ejemplo en el módulo blocknewsletter vemos que se utiliza el hookFooter para mostrar el formulario de registro del newsletter en el footer de nuestra tienda online.

Imaginemos que queremos añadir también este formulario en la columna izquierda de nuestra tienda online. Para ello tendríamos que desactivar el módulo y modificar en el código las siguientes lineas.

En la función install añadimos el nuevo hook, en este caso sería leftColumn:

public function install()
{
    if (!parent::install() || !$this->registerHook(array('header', 'footer','leftColumn', 'actionCustomerAccountAdd')))
	return false;
        .....
{

Luego activamos de nuevo el módulo y buscamos alguna página que tenga columna izquierda como puede ser la página de una categoría para ver el resultado:

En este caso no ha sido necesario crear una función para el nuevo hook, porque en este módulo ya existía, si nos hiciera falta tendríamos que crear una función como la que sigue:

public function hookDisplayLeftColumn($params)
{
	$this->_prepareHook($params);
	return $this->display(__FILE__, 'blocknewsletter.tpl');
}

PrestaShop nos da mucha flexibilidad a la hora de trabajar con módulos, pero es importante saber como funcionan los hooks para aprovecharlos al 100%.

Hacer vuestras pruebas y comentar los resultados.

Última modificación: oct 17, 2024