Pasar parámetros desde un hook a función Prestashop
Pasar parámetros desde un hook a función Prestashop. Aprenderemos a insertar atributos a nuestros hook para personalizar al máximo estas opciones.
En un artículo anterior hemos aprendido a crear Posiciones de Hook en módulo Prestashop y para complementar el tema con este artículo.
Pasar parámetros desde un hook a función Prestashop
La idea es hacer pasar el parámetro desde un fichero .tpl hacia una función de nuestro modulo en Prestashop.
¿Cómo pasar parámetros desde un hook hacia una función de un módulo?
Por ejemplo, tengo un gancho displayCarrierExtraInfo
que debe mostrar información adicional si la identificación del operador = 2
En la plantilla de tema Prestashop llamo gancho así:
{foreach $option.carrier_list as $carrier}
<div class="delivery_option_title">{$carrier.instance->name}</div>
<!--Hook-->
{hook h='displayCarrierExtraInfo'}
{/foreach}
Luego, en el módulo tengo la siguiente función personalizada
function hookDisplayCarrierExtraInfo($params){
echo 'Texto extra información';
}
Explicación del código anterior
En la variable $params
se procesan todas las variables inteligentes y otras más opciones, pero en este caso solo necesito obtener la identificación del operador que está en el bucle de operador de plantilla activo.
¿Cómo pasar la identificación del operador de la plantilla u otros parámetros para enganchar la función?
Solo debemos de agregar un código inteligente en lugar del hook básico
{hook h='displayCarrierExtraInfo'}
Ahora hay que agregarla identificación del operador = 2
El uso de ganchos de visualización se procesa en algún lugar de un fichero tpl
donde se registran diferentes módulos para agregar su salida. Entonces, por ejemplo, cuando renderiza product.tpl
La solución es pasar parámetros
De todos modos, puedes pasar parámetros como este ejemplo que he encontrado.
{hook h="displayAdminCustomers"}
Debemos de agregar el parámetro personalizado al hook, veamos un ejemplo
{hook h="displayAdminCustomers" id_customer=$customer->id}
Así que en el hookDisplayAdminCustomers($params)
Puedes entrar o acceder llamando a $params['id_customer']
Veamos un ejemplo
public function hookDisplayAdminCustomers($params)
{
//Imprimimos el ID enviado desde el Hook
echo "Mi ID:". $params['id_customer'];
}
//En nuestra tienda imprimira lo siguiente:
// Mi ID: 23
Nota:
Desde esta función podemos obtener el ID enviado desde elhook
y realizar muchas cosas por ejemplo una consulta SQL y/o armar una tabla de compatibilidad, todo depende de la necesidad de la tienda.
Conclusiones y recomendaciones de pasar parámetros
Si bien con nuestro hook
podemos agregarlo en cualquier sector de nuestra tienda haciendo uso de los ficheros .tpl de Prestashop.
En este articulo hemos aprendido a personalizar nuestros hook
de manera dinámica, es decir hacer pasar un determinado parámetro para obtener resultados en concretos.
Espero que este artículo los haya ayudado a comprender la gestión de hook
en Prestashop