Decir que es una pasada muy rápida y poco exhaustiva sobre la sección “Su cuenta” que visualiza el usuario que se registra en la tienda. 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:
Texto que podemos cambiar/modificar sin problemas para los diferentes idiomas de la tienda en la pestaña Internacional -> Traducciones -> Modificar Traducciones
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”
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):
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í:
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:
Podemos ver los iconos disponibles aquí: https://material.io/icons y cambiarlo por cualquier otro.
Por ejemplo, puedes añadir el siguiente icono:
Cambiando la instrucción:
Por:
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:
Finalmente veremos el nuevo 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
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”.
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’}
Aquí estamos mostrando el enlace de “Cerrar sesión” que aparece al final de la misma.
Enlace que corresponde al código que señalo en la siguiente captura:
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:
La variable “logout_url” que usamos en el enlace al cerrar la sesión tiene almacenado el enlace para cerrar la sesión.
Si seguimos avanzando dentro de la función initContent vemos el siguiente código:
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
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
Revisa esta guía: https://victor-rodenas.com/anadir-breadcrumb-en-la-seccion-mis-alertas-en-prestashop-1-7/
Excelente !!! estoy dando mis primeros pasos en tocar un poco el código y este aporte me ayudo mucho.
Muchas gracia !!
Gracias una vez mas!! estaba buscando como quitar mis alertas en la cuenta de usuario, ya que al pincharla lo único que hacia era dirigir al cliente a la pagina de inicio de la web…. Solo había que desenganchar el módulo del hook.
Gracias de nuevo!!!!