Sustituir título bloque destacados por nombre categoría en Prestashop

Nombre de la categoría en el bloque de productos destacados de Prestashop 1.7

No hablo de cambiar el título dentro de la gestión de traducciones en Prestashop 1.7 sino que automáticamente se muestre el título de la categoría de la cual muestra los productos el módulo en cuestión.

Si recordamos la configuración básica del módulo de productos destacados, entre otras opciones podíamos seleccionar el ID de la categoría para que en el módulo solo se mostraran productos de dicha categoría.

La idea es que el título del bloque depende titularse “Productos destacados” si has dicho que el módulo seleccione los productos de la categoría “Tomates” pues que se titule tomates, o si otro día decides que seleccione los productos de la categoría “EDT” pues que el título del bloque sea “EDT”.  La finalidad es que este cambio se haga de forma automática.

Recuerdo que estoy usando Prestashop 1.7 con la plantilla por defecto (classic).

En el fichero: /modules/ps_featuredproducts/ps_featuredproducts.php dentro de la función: getWidgetVariables

getWidgetVariables

Añadimos la siguiente instrucción:

$category = new Category((int) Configuration::get('HOME_FEATURED_CAT'), $this->context->language->id);
Creación instancia

De esta manera como hemos creado una instancia de la clase Category basándonos en el id de categoría que hemos configurado en el módulo, podemos obtener los datos de la categoría, como puede ser el nombre.

Y después (en la parte del return (dentro de la misma función)) añadimos:


'nombreCat' => $category->name,

Variable Smarty

Recordar que, aunque nosotros hemos editado directamente la clase del módulo, lo aconsejable y recomendable es hacer un override de dicha clase en el directorio /override/classes/module/

El siguiente paso consiste en ir al fichero:

/themes/classic/modules/ps_featuredproducts/views/templates/hook/ps_featuredproducts.tpl

Donde buscamos la siguiente línea de código:

ps_featuredproducts.tpl

Y la dejamos del siguiente modo:

Fichero TPL modificado

Si os fijáis simplemente estamos usando la variable {$nombreCat} que hemos declarado antes en la clase del módulo.

Finalmente, ya podremos ver el nombre de la categoría en el título del bloque.

Nombre de la categoría en el título del bloque de productos destacados de Prestashop 1.7

Documento construido bajo Prestashop 1.7.2.4