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

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

  1. Hola Victor,

    Ante todo gracias por ayudarnos con tus conocimientos en Prestashop.

    En cuanto a este bloque, quisiera que al entrar en la web de la sección Mis alertas me diera opción en su encabezado de poner las opciones Inicio / Su cuenta, tal como ocurre en los demás apartados (información, direcciones, etc.)

    Espero que me puedas ayudar.

    Saludos

Deja un comentario

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