Como empezó mi andadura en Prestashop en el 2010

Era el año 2010, un cliente buscaba montar una tienda, en ese momento desconocía Prestashop, pero un buen amigo de Cádiz, me dijo que existía una plataforma de comercio electrónico llamada Prestashop, me puse a investigar y curiosamente desde el primer día me enamore de ella.

Cuando fueron pasando los meses, me registre en la Comunidad Oficial de Prestashop, y vi que muchos usuarios tenían dudas que yo mismo había tenido unos meses antes, sin pensarlo, me puse a dar soporte de forma totalmente voluntaria.

Fueron pasando los meses, y cuando me di cuenta, estábamos en el 2011, moderando y dando soporte a la Comunidad de Prestashop casi “24 horas al día”.

No solo me llegaban consultas en los foros de Prestashop, también por email, por teléfono y al final sin darme cuenta, termino siendo casi todo voluntario.

Es cierto, que fui sacando algún trabajo a nivel de implementación, configuración, personalización, desarrollo, asesoramiento, pero gestionar la Comunidad de Prestashop, me llevaba demasiado tiempo…. y compatibilizar ambas cosas era muy complicado.

Recuerdo, que hasta me llamaban por teléfono personas de otros países para que les ayudara.

En el año 2012, se celebro el Barcamp de Prestashop en Barcelona, donde acudí con una persona de Murcia vinculada también al mundillo de Prestashop, creo recordar que fuimos en avión, y estuvimos alojados en un hostal…

Recuerdo con mucho cariño, que en aquella época me nombraron en la newsletter oficial de Prestashop: (Ver newsletter)

Newsletter Prestashop

En el 2012 – 2013, fue la explosión definitiva por parte mía en la Comunidad de Prestashop,  empezaron a registrarse más usuarios en los foros de Prestashop, y esto hizo que mi participación subiera como la espuma, recuerdo que pasaba días sin dormir para participar e intentar ayudar en lo que podía 🙂

En el 2014, empecé a tener problemas estomacales (tarde casi 2 años en poder recuperarme), que hicieron que mi actividad fuera bajando en la Comunidad, pero seguí activo intentando ayudar en lo que podía.

Recibí ofertas laborales de varias empresas, y lo cierto es que era un mundillo en el que me apetecía trabajar (“en su momento”) de forma estable, depende estar haciendo trabajos como freelance, pero la realidad, entre mis problemas gastrointestinales que se terminaron alargando alrededor de 2 años y otros problemas que tenía, no me encontraba en condiciones.

Llego el año 2015, y Prestashop contacto conmigo para darme un premio (por mi contribución a la comunidad de los años anteriores) en un evento que se celebraba en París, como contribuidor más valorado de la Comunidad de Prestashop, como no podía ir a París, me lo enviaron por correos.

Premio recibido por parte del Equipo de Prestashop como contribuidor mas valorado de la Comunidad de Prestashop
Premio recibido por parte del Equipo de Prestashop como contribuidor más valorado de la Comunidad de Prestashop

Pongo también vídeo (alrededor del minuto 15), donde nombran a mi usuario “nadie” de la Comunidad de PrestaShop, por cierto el premio me lo enviaron a mi dirección, pero curiosamente decían que era de Colombia, que cosas tan raras 🙂

premioprestashop

En el año 2015, todavía seguía con algún problema estomacal.. y no estaba totalmente recuperado, aunque bueno no tuvo nada que ver en mi decisión de dejar paulatinamente la Comunidad, simplemente buscaba nuevos horizontes que me permitieran crecer y avanzar, que los sigo buscando, porque de un modo u otro termine encasillado en Prestashop.

Durante mis años en la Comunidad de Prestashop aprendí mucho, y termine adquiriendo una experiencia que no la cambiaría por nada.

Cierto, que también existieron problemas (moderar una comunidad, conllevaba mucha responsabilidad), y ahora mirando las cosas con perspectiva, me equivoque en determinadas decisiones, pero de la experiencia se aprende.

Falta también contar porque mi usuario en la Comunidad de Prestashop se llamaba “Nadie“, pero eso es otra historia…

Por cierto, es posible que falten datos de algún año, en referencia a los acontecimientos, pero es la realidad de lo que ocurrió.

Print Friendly, PDF & Email

Mostrar fecha de modificación del producto en Prestashop

En este manual para Prestashop, vamos a mostrar la fecha de modificación (actualización) del producto en la ficha del producto.

Fecha actualización producto

Para mostrar la fecha de modificación (actualización) del producto en la ficha del producto editamos el fichero:

/themes/default-bootstrap/product.tpl

Donde vamos a usar la variable:

{$product->date_upd}

En nuestro caso la hemos añadido debajo del bloque de “Condiciones” de la ficha del producto, donde podemos ver en la captura inicial, por ejemplo “Estado -> Nuevo”

Fecha creación producto

Como podéis ver en la captura (si pincháis sobre ella) hemos añadido debajo del código correspondiente al bloque de condiciones (nuevo, usado, etc..) el bloque para mostrar la fecha de actualización (modificación) del producto.

Mostrar fecha de creación

En la variable hemos usado “date_format” en Smarty: https://www.smarty.net/docs/en/language.modifier.date.format.tpl para formatear la fecha: día / mes / año, revisar el enlace para ver toda la información sobre este aspecto.

Fecha formateada

El literal “Last update” o el que vayáis a colocar recordar que se debe cambiar para los distintos idiomas desde la pestaña Localización -> Traducciones -> Modificar Traducciones

Modificar traducciones
Palabra a traducir

Documento testeado en Prestashop 1.6.1.18 con la plantilla por defecto.

PosData: Si no veis los cambios, recordar limpiar cache en la pestaña Parámetros Avanzados -> Rendimiento

Print Friendly, PDF & Email

IP del cliente en el email del formulario de contacto en Prestashop

Aporte del usuario Masteries de la Comunidad de Prestashop traducido del idioma de Shakespeare al idioma de Cervantes con información adicional.

Con este manual para Prestashop cuando nos envíen un mensaje mediante el formulario de contacto de Prestashop podremos ver en el email recibido la IP de procedencia de la persona que ha enviado dicho mensaje.

Email recibido

Aunque inicialmente el aporte es para Prestashop 1.6 con la plantilla por defecto, al final de la entrada haremos algunas aclaraciones sobre el mismo para Prestashop 1.7

El primer paso es construir un override del controlador/controllers/front/ContactController.php

1 – Vamos al directorio: /override/controllers/front/ 
2 – Creamos un fichero con nombre: ContactController.php para definir el override.

Definimos el contenido del override del siguiente modo:

Definiendo override del controlador

Dentro del override del controlador vamos a copiar del original:  /controllers/front/ContactController.php la función:  public function postProcess() y la pegamos dentro del override que hemos creado.

Pegar función
Pegar función

Dentro de la función que hemos pegado, vamos a buscar las variables que podemos usar en los emails del formulario de contacto.

Y añadimos la siguiente:

Quedando del siguiente modo:

Código modificado

De esta manera podremos usar en los emails la variable {ip_cliente} para obtener la ip desde donde se ha enviado el formulario de contacto.

A la variable {ip_cliente} le estamos pasando la IP de procedencia desde donde se ha enviado el formulario de contacto porque le hemos pasado la función getRemoteAddr() de la clase Tools. Si tenemos interés en que hace verdaderamente dicha función lo podéis ver en el fichero /classes/Tools.php buscando la función: public static function getRemoteAddr().

Tras terminar de construir el override, eliminar el fichero /cache/class_index.php para que Prestashop 1.6 reconozca el nuevo override. No os preocupéis porque el fichero borrado se regenera automáticamente.

El siguiente paso es editar los ficheros correspondientes al email que recibes tu cuando te envían un mensaje mediante el formulario de contacto y añadir la variable que hemos creado para ver la IP.

Editamos los ficheros:
mails/es/contact.html y contact.txt
/themes/default-bootstrap/mails/es/contact.html y contact.txt (recordar que el que esta sobreescrito en la plantilla (en en este ejemplo estamos usando la plantilla por defecto que se denomina default-bootstrap) es el que tiene prioridad)

Recordar que también podéis hacerlo desde el panel de traducciones en la pestaña Localización -> Traducciones -> Modificar Traducciones

Traducciones emails PS
Traducciones emails PS
Editar Email
Editar Email

Una vez hemos accedido a los emails para modificarlos, toca añadir la variable: {ip_cliente}

Fichero contact.html

contact.html
contact.html

Fichero contact.txt

contact.txt
contact.txt

Tip valido para Prestashop 1.6 y probado hasta Prestashop 1.6.1.18

Descargar Override construido bajo Prestashop 1.6.1.18

Por si en un futuro actualizan el aporte para Prestashop 1.7 o tenéis dudas sobre el aporte actual, podéis ver el enlace original del aporte en el foro de Prestashop:

https://www.prestashop.com/forums/topic/626268-tutorial-show-customers-ip-address-in-e-mail-from-the-contact-form/


Respecto Prestashop 1.7 (hasta Prestashop 1.7.2.4) por el momento os dejo tres pistas:

Fichero: modules/contactform/contactform.php -> Función public function sendMessage() encontrareis respecto a las variables habilitadas para el uso en los emails lo siguiente:

Donde podemos añadimos:

Para luego hacer uso de la variable {ip_cliente} en los emails.

Evidentemente lo ideal sería siempre que se pueda crear un override de la clase del módulo contactform (contactform.php) en el directorio /overrides/modules/contactform/ para hacer los pertinentes cambios depende tocar la clase original.

Por cierto, para que os detecte el override en PS 1.7 (hasta 1.7.2.4) directamente hacer clic sobre el botón limpiar(vaciar) cache situado en la parte superior de la zona de acceso correspondiente a la pestaña Parámetros Avanzados -> Rendimiento.

Como no todo es un regalo, os dejo investigar para que veáis como se hace un override de una clase un módulo. Por el blog incluso tenéis algún ejemplo.

Print Friendly, PDF & Email

No me muestra el nombre del atributo en la ficha del producto en Prestashop

Es una tontería, pero, aunque parezca mentira ocurre todavía en algunas plantillas que compras en la tienda de addons o en cualquier otra tienda de plantillas, evidentemente son casos muy concretos y por suerte la mayoría de plantillas están bien desarrolladas y muestran el nombre del atributo en las combinaciones de los productos.

Si estas usando una plantilla que no es la que lleva por defecto Prestashop y te muestra los valores de los atributos correspondiente a las combinaciones que has establecido en los productos, pero no el nombre del atributo (suponiendo que hayas configurado correctamente los atributos, valores y combinaciones de los productos).

¿Por qué no aparece el nombre del atributo?

En el fichero:

/themes/TuPlantilla/product.tpl

Dentro del bucle  {foreach from=$groups key=id_attribute_group item=group} no tienes introducida la visualización del nombre del atributo.

$group.name

Fijaros que en la plantilla por defecto (/themes/default-bootstrap/product.tpl), tenemos la siguiente instrucción:

Código
Código

Debajo del inicio del bucle que he comentado inicialmente y del <fieldset class=”attribute_fieldset”> 

Si en vuestra plantilla no viene, simplemente copiar la instrucción del fichero /themes/default-bootstrap/product.tpl  y pegar la instrucción en el fichero /themes/TuPlantilla/product.tpl.

Código product.tpl
Nombre grupo

Este TIP es válido para Prestashop 1.6 (no para Prestashop 1.7)

Print Friendly, PDF & Email

Breadcrumb en la sección “Mis alertas” de Prestashop 1.7

Pequeño TIP donde comentamos brevemente la posibilidad de añadir el breadcrumb a la sección “Mis alertas” de la sección “Su cuenta” en Prestashop 1.7.

Para acceder a este manual de Prestashop 1.7, debéis pinchar en la siguiente imagen:

Documentación Prestashop 1.7

PostData: Espero que os pueda servir de ayuda 🙂

Print Friendly, PDF & Email

Gestionar los menús del panel de administración en Prestashop 1.7

Si recordamos en Prestashop 1.6 al acceder a la pestaña Administración -> Menús podíamos gestionar los menús del panel de administración.

Menús en Prestashop

Con la llegada de Prestashop 1.7 (al menos hasta Prestashop 1.7.3.0 beta (lo que ocurra en un presente o futuro no lo sabemos nadie)) este acceso desapareció.

El usuario Vekia de la Comunidad de Prestashop, nos proporciona un módulo que nos soluciona la papeleta.

La subida e instalación del módulo sin problemas desde la pestaña módulos -> módulos y servicios

Módulo instalado

El módulo no lleva ninguna opción de configuración adicional.

Una vez instalado, veremos que en la pestaña “Parámetros Avanzados” podemos ver la opción “Menú” en Prestashop 1.7

Acceso gestión menús

Por ejemplo, vamos a cambiar el nombre de Catalogo -> Archivos por Catalogo -> Adjuntos

Accedemos a la gestión de los Menús en la pestaña Parámetros Avanzados -> Menú

Pinchamos en el icono que tenemos a lado de  “Modificar” (la flecha) y hacemos click sobre la opción (“Datos“) en la sección “Vender

Sección Vender
Acceder a las opciones del Bloque Ventas

Ahora veremos los “Menús” -> Pedido / Catalogo / Clientes / Servicio al Cliente / Estadísticas / …

Pinchamos en la flecha que está a lado del botón de modificar correspondiente a “Catálogo” y pinchamos en la opción “Datos

Acceder a los submenús de Catalogo

Y ahora veremos los menús: Productos, Categorías, Monitoreo, Atributos y Características, Marcas y Proveedores, Adjuntos, etc…

En este caso pinchamos directamente en “Modificar” (sobre el menú “Adjuntos”) o directamente sobre el nombre.

Modificar menú

Y veremos la siguiente información:

Información pestaña

Si cambiamos el nombre (en la casilla donde está el nombre actual) de la pestaña por “Adjuntos” veremos que el cambio se hace efectivo y ahora la pestaña aparecerá con el nuevo nombre.

Nombre cambiado
Nombre cambiado

La opción “Padre (Pestaña)” simplemente es para indicar bajo que “Menú” queremos la pestaña, ahora mismo está señalado por Catálogo porque si nos fijamos la opción está bajo Catálogo, pero en principio podemos cambiarlo para colocarlo bajo otra pestaña (menú).

La clase del menú de Adjuntos es: AdminAttachments correspondiente al controlador /controllers/admin/AdminAttachmentsController.php

Recordar que también podéis ordenar el orden de los menús:

Cambiar orden menú

El nombre de las pestañas para los diferentes idiomas queda guardado en la base de datos en la tabla: ps_tab_lang. 

¿Dónde puedo descargar el módulo actualizado?

https://mypresta.eu/modules/administration-tools/back-office-menu-manager.html

Documento construido en base Prestashop 1.7.3.0 beta 1 y la versión “1.2.0” del módulo.

Como he comentado al principio actualmente en Prestashop 1.7 no viene el acceso a la gestión de los menús desde el panel de administración, es posible que en un presente o futuro cercano en las siguientes variantes de Prestashop 1.7.X.X esta acceso vuelva a estar disponible de forma nativa.

Print Friendly, PDF & Email

Estudiando el código de la sección “Su cuenta” de Prestashop 1.7

Sección su cuenta en Prestashop 1.7
Sección su cuenta en Prestashop 1.7

Decir que es una pasada muy rápida y poco exhaustiva, pero espero que os pueda servir de ayuda.

Plantilla de impresión -> TPL

Fichero: /themes/classic/templates/customer/my-account.tpl

Controlador del FrontOffice correspondiente:

Fichero: /controllers/front/MyAccountController.php

En el fichero TPL observamos:

Dentro del block -> page_title  el título de la sección:

{block name=’page_title’}

Texto que podemos cambiar/modificar sin problemas para los diferentes idiomas de la tienda en la pestaña Internacional -> Traducciones -> Modificar Traducciones

Gestión traducciones
Cambiar traducción

Seguimos avanzando en el fichero: /themes/classic/templates/customer/my-account.tpl

En el bloque -> {block name=’page_content’} estamos viendo los enlaces de la sección “Mi cuenta”

{block name=’page_content’}

El enlace que he señalado en la captura corresponde al enlace de información (que es el correspondiente al de la sección de datos personales del cliente):

Enlace Información

Si nos fijamos en el código, vemos el enlace, el texto del enlace y el icono.

El título/texto del enlace lo vemos aquí:

Texto del enlace

Que es  traducible y modificable a todos los idiomas desde la pestaña Internacional -> Traducciones -> Modificar Traducciones al igual que ocurría en el título “Su cuenta”.

El icono que visualizamos encima del texto corresponde al código señalado en la siguiente captura:

Icono

Podemos ver los iconos disponibles aquí: https://material.io/icons y cambiarlo por cualquier otro.

Por ejemplo, puedes añadir el siguiente icono:

Icono
Material icons

Cambiando la instrucción:

Icono anterior

Por:

Icono nuevo

Yo lo he colocado en dicho formato porque es como estaba puesto en el TPL, pero si os fijáis en la captura en la actualidad es recomendable (no obligatorio) ponerlo del siguiente modo:

Otro modo

Finalmente veremos el nuevo icono:

Icono

Si seguimos avanzando dentro del  {block name=’page_content’}, vemos otro bloque denominado:  {block name=’display_customer_account’} que muestra el hook denominado -> displayCustomerAccount

{block name=’display_customer_account’}

Si vamos a la pestaña Diseño -> Posiciones y buscamos el hook -> displayCustomerAccount vemos los módulos que tenemos anclados en dicho hook:

En mi caso particular tengo el módulo Alertas por correo electrónico, por eso me está mostrando un enlace adicional (proveniente de dicho módulo) a los que existen por defecto de forma “fija”.

Mis Alertas

Una vez hemos salido del bloque -> {block name=’page_content’} vemos al final del fichero el bloque -> {block name=’page_footer’} y dentro dicho bloque nos encontramos al bloque  {block name=’my_account_links’}

{block name=’page_footer’}

Aquí estamos mostrando el enlace de “Cerrar sesión” que aparece al final de la misma.

Cerrar sesión

Enlace que corresponde al código que señalo en la siguiente captura:

Enlace cerrar sesión

Una vez hemos observado de forma breve el TPL, vamos a ver el controlador que realmente le da “vida”.

Vamos al fichero:  /controllers/front/MyAccountController.php

Y si nos fijamos dentro de la función “initContent” observamos dos aspectos:

initContent

La variable “logout_url” que usamos en el enlace al cerrar la sesión tiene almacenado el enlace para cerrar la sesión.

Asignación variable para poder usarla en el TPL
Asignación variable para poder usarla en el TPL
Variable

Si seguimos avanzando dentro de la función initContent vemos el siguiente código:

Llamada al método padre y selección plantilla a mostrar
Llamada al método padre y selección plantilla a mostrar

Recordamos que con: parent llamamos al método padre.

Y con $this->setTemplate indicamos el TPL correspondiente a cuando accedemos a la sección de mi cuenta. En este caso tenemos indicado que el tpl es el fichero my-account que se encuentra dentro del directorio customer de la plantilla.

Documento construido bajo Prestashop 1.7.3.0 beta1

Print Friendly, PDF & Email

[DOC] Configurar alertas de los emails en Prestashop 1.7

Últimamente no escribo documentación usuario para Prestashop 1.7 porque no me gusta y en la actualidad tenéis disponibles en la red montón de tutoriales (además de la documentación oficial) y múltiples recursos en videotutoriales.

Es simplemente un pequeño documento de unas 1000 palabras aproximadamente donde comentamos paso a paso las opciones que lleva el módulo en cuestión respecto a las alertas (notificaciones) por email en Prestashop.

Para revisar este documento, tenéis que pinchar en la siguiente imagen:

Documentación usuario Prestashop 1.7
Print Friendly, PDF & Email

¿Por qué no publico videotutoriales sobre Prestashop?

Es una pregunta que me han realizado varias veces y aunque siempre la he respondido de forma privada, nunca lo he comentado públicamente aquí:

Son opiniones mías:

1 – Cuando lees tutoriales o documentación técnica en formato texto hace que de un modo u otro termines profundizando, mientras que cuando ves habitualmente un videotutorial (no siempre) no terminas profundizando y en muchas ocasiones terminas perdido en el limbo y  al final terminas consultando  documentación en modo texto. Está claro que un videotutorial te puede solucionar un problema o duda de forma puntual, pero normalmente no terminas profundizando.

2 – Independientemente de que el blog no da ni ha dado nunca para pagar el alojamiento web ni el dominio (y eso que tenéis un botón de donación en el lateral izquierdo, que sois unos gañanes, sin ánimo de ofender) el tiempo de inversión en montar un videotutorial en condiciones y el beneficio a corto plazo en la actualidad según mi modesta opinión no es aceptable.

3 – No me motiva ni me ha motivado nunca, y posiblemente esta sea la razón más importante 🙂

Print Friendly, PDF & Email

Personalizar página 404 de Prestashop 1.7

En este TIP vamos a comentar a grosso modo algunos de los ficheros y aspectos implicados en la página 404 de Prestashop 1.7

Ficheros implicados:

Controlador de la pagina 404 (página no encontrada):

/controllers/front/PageNotFoundController.php

Dentro de: initContent  generación del código status del error 404, y además se indica el TPL que se mostrara.

Dentro de getTemplateVarPage en esta ocasión se sobrescribe el valor de la variable page_title que explicaremos posteriormente (no confundir con la del meta título)

TPLS implicados:

/themes/classic/templates/errors/404.tpl -> Página genérica del error 404 que incluye un include hacia el fichero: /themes/classic/templates/errors/not-found.tpl -> TPL con dos hooks disponibles (displayNotFound y displaySearch)


En el fichero:

/themes/classic/templates/errors/404.tpl 

Observamos el siguiente contenido:

Pasamos a estudiar el bloque page_title y el bloque page_content_container

El bloque page_title

corresponde a la siguiente parte de la página 404:

Bloque título

Donde vemos que está imprimiendo el contenido de la variable:

{$page.title}

No confundir con el valor de la variable: {$page.meta.title} que es la que muestra el valor del meta título de la página 404

Que podemos configurar en la pestaña Parámetros -> Trafico & SEO y URLS (junto con la meta descripción, url amigable, etc..)

Meta título

Y que podemos verificar que la estamos usando en el fichero: /themes/classic/templates/_partials/head.tpl aquí:

Meta título

Al final entre y una cosa y otra me voy por los laureles, lo que quiero decir es que no confundamos las variables, y que la variable (y su valor):

{$page.title}

está viniendo de otro sitio que comentamos a continuación:

Al acceder al controlador: /controllers/front/PageNotFoundController.php observamos dentro de la función getTemplateVarPage la construcción de la variable (en esta ocasión) que estamos usando en el fichero TPL:

getTemplateVarPage

Quizás es un poco confuso, pero paso a explicarlo brevemente:

$page = parent::getTemplateVarPage();

El controlador hereda de FrontController y en FrontController está definida la función getTemplateVarPage() que entre otros aspectos vemos dentro de la función getTemplateVarPage() este código:

Código

Lo que estamos haciendo es llamar a la función padre (parent::getTemplateVarPage();)posteriormente en esta instrucción:

$page['title'] = $this->trans('The page you are looking for was not found.', array(), 'Shop.Theme.Global');

Sobreescribimos el valor del título.

Recordar que este título lo podemos traducir/cambiar/personalizar sin problemas en la pestaña Internacional -> Traducciones -> Modificar Traducciones en los diferentes de idiomas e la tienda.

Tipo de traducción -> Traducción de temas
Seleccione su tema -> Plantilla que estamos usando (en nuestro caso: classic)
Seleccione su idioma -> Como queremos personalizar la frase para el idioma español, señalo: Español

Pulsamos en Modificar.

Modificar traducción

Y buscamos la frase: “La página que busca no se ha encontrado.

Cambiar texto

Simplemente escribimos nuestra frase personalizada y guardamos los cambios.

Seguimos avanzando dentro del fichero:
/themes/classic/templates/errors/404.tpl donde vemos que en el bloque: page_content_container tenemos un include hacia el TPL not-found.tpl

Include

Que corresponde a la parte que muestro en la siguiente captura:

Visualización include

Por lo tanto, si vamos al fichero /themes/classic/templates/errors/not-found.tpl

Vemos el siguiente código:

not-found.tpl

Dentro del block page_content tenemos disponible:

Dos palabras claves/textos (yo lo suelo denominar palabras claves porque nos sirven para luego poder traducir los textos en los diferentes idiomas de la tienda)

l s

Que corresponde a la parte que señalo en la siguiente captura:

Textos
Textos

Recordar que estos textos se pueden cambiar/modificar en los distintos idiomas de la tienda en la pestaña Internacional -> Localización -> Modificar Traducciones

Dentro del bloque -> block seach  tenemos disponible el hook -> displaySearch

displaySearch
displaySearch

En el hook -> displaySearch si vamos a la pestaña Diseño -> posiciones de los módulos del panel, veremos que tenemos cargado el módulo del buscador.

Módulos instalados en displaySearch

Por eso vemos el buscador, tal como podéis ver en la siguiente captura:

Buscador

Por último, tenemos otro bloque denominado -> hook_not_found donde tenemos  disponible otro hook, en este caso denominado -> displayNotFound

displayNotFound
displayNotFound

Si realmente queréis personalizar la página 404 en Prestashop 1.7, os he dicho básicamente los ficheros que existen, ya depende de vosotros como queréis personalizarlo, si añadiendo nuevos hooks y en esos hooks añadir lo que veáis  conveniente o intentar añadir algún módulo a los hooks disponibles o editar los TPLS a mano y definir la estructura que creáis conveniente.  Tener cuidado con el include del que hemos hablado porque posiblemente se usa en otras partes de la tienda.

No he hablado de los estilos (del css) que si nos fijamos en el fichero theme.css descomprimido y buscáis las reglas relacionadas con #pagenotfound veréis lo que tenéis disponible. Recordar que, por ejemplo, desde botón derecho ratón -> inspeccionar elemento en Chrome podéis ver fácilmente las líneas CSS, tener cuidado al tocarlas y no tocar líneas generales que puedan afectar a otras partes de la tienda. Recordar que si solo quieres que se aplique a la página 404 los estilos deben ir con #pagenotfound por delante. Por otro lado, recordar que en el fichero: /themes/classic/assets/css/custom.css podéis crear vuestras propias reglas.

Un ejemplo, cambiar tamaño y color del título “La página que busca no se ha encontrado.”

La página que busca no se ha encontrado

Por ejemplo, añadimos en el fichero: /themes/classic/assets/css/custom.css la siguiente instrucción:

#pagenotfound h1 {
color: #9e1b33;
font-size: 30px;
}
custom.css

Hemos cambiado el título a un color rojizo y con un tamaño de fuente de 30px.

Tamaño y color cambiado

Este documento  está construido bajo Prestashop 1.7.2.4, es muy posible que en futuras variantes de Prestashop 1.7.X esta explicación no sea válida.

 

Print Friendly, PDF & Email

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

Print Friendly, PDF & Email