Prestashop

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 el hook 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

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba