Jump to content

Modificar contenido emails de confirmación de compra [SOLUCIONADO]


Recommended Posts

Posted (edited)

Hola, 

Estoy tratando de cambiar el logo y contenido de los emails de confirmación que se envían a los clientes cuando compran un pedido pero no logro saber dónde puedo cambiar esto.

¿Podéis ayudarme? ¿Es algún archivo en concreto?

Muchas gracias de antemano

Edited by monicaamb (see edit history)
Link to comment
Share on other sites

Hola @monicaamb buen día.

Si lo que quieres es modificar la plantilla al completo, lo primero que debes hacer es entender como se crea.

Para esto te aconsejo que vayas al archivo "PrestaShop/Classes/Mail.php", si tienes un poco de conocimiento en programación y lees el método "Send()" te darás cuenta de que para construir esa plantilla se necesita principalmente de 3 parámetros que son enviados en este método.

  • $template: Contiene el nombre del archivo de plantilla que se usa para construir este correo. (para tu caso de pedido de confirmación es "order_conf")
  • $templateVars: Contiene un arreglo con cada una de las variables a usar en la plantilla del envío de este correo.
  • $templatePath: Contiene la ubicación física de las plantillas, si no se envía un valor, toma por defecto la ruta de "_PS_MAIL_DIR_" ("PrestaShop/Mails/[abreviatura del Idioma]/").

Te recomiendo, vayas y mires esa carpeta, ya que te darás cuenta de que cada plantilla está conformada por 2 archivos (como mínimo), uno de extension ".html", y otro de extension ".txt".

El HTML tiene la información completa de como se crea ese correo, pero quizá te va a ser un poco más difícil de leer; sin embargo, el TXT está literal escrito su contenido en pocas líneas, y como si fuera un documento de Word que te muestra el texto que se envía en el correo.

Si te fijas bien, vas a encontrar algo como esto en ese archivo:
imagen.png.26fb15362c9284561b40bf44f7be1b01.png

Cada una de esas palabras, que están encerradas en corchetes "{ }", son las variables de la plantilla que se enviaron anteriormente.
Una vez sepas que es lo que quieres modificar, te recomiendo buscar el mismo texto que quieres modificar del TXT en el HTML, para que los 2 archivos obtengan los cambios que necesites.

Para el tema del logo, tienes 2 opciones, la primera modificar el logo de tu tienda, ya que el logo por defecto que se selecciona es el almacenado en la base de datos en la tabla "ps_configuration" en la fila que se llama "PS_LOGO" (Básicamente el logo de la tienda), la otra opción es crear un nuevo registro en la base de datos en esa misma tabla, pero este nuevo registro se debe llamar "PS_LOGO_MAIL", y debe tener como valor el nombre de la imagen que vas a utilizar, que deberá estar ubicada en la carpeta de imágenes por defecto "PrestaShop/img".

Para tener en cuenta, si quieres cambiar el tamaño o la disposición de esta imagen en la plantilla, debes ir a al archivo HTML, buscar la variable "{shop_logo}", y modificar los lugares en los cuales se utiliza.

Espero esta información te sea de utilidad. Intente ser lo más específico posible.

PD: Quizá esto te sirva https://devdocs.prestashop-project.org/1.7/development/mail/#add-custom-template

Un saludo...

Link to comment
Share on other sites

On 7/5/2024 at 4:57 PM, thelion_99 said:

Hola @monicaamb buen día.

Si lo que quieres es modificar la plantilla al completo, lo primero que debes hacer es entender como se crea.

Para esto te aconsejo que vayas al archivo "PrestaShop/Classes/Mail.php", si tienes un poco de conocimiento en programación y lees el método "Send()" te darás cuenta de que para construir esa plantilla se necesita principalmente de 3 parámetros que son enviados en este método.

  • $template: Contiene el nombre del archivo de plantilla que se usa para construir este correo. (para tu caso de pedido de confirmación es "order_conf")
  • $templateVars: Contiene un arreglo con cada una de las variables a usar en la plantilla del envío de este correo.
  • $templatePath: Contiene la ubicación física de las plantillas, si no se envía un valor, toma por defecto la ruta de "_PS_MAIL_DIR_" ("PrestaShop/Mails/[abreviatura del Idioma]/").

Te recomiendo, vayas y mires esa carpeta, ya que te darás cuenta de que cada plantilla está conformada por 2 archivos (como mínimo), uno de extension ".html", y otro de extension ".txt".

El HTML tiene la información completa de como se crea ese correo, pero quizá te va a ser un poco más difícil de leer; sin embargo, el TXT está literal escrito su contenido en pocas líneas, y como si fuera un documento de Word que te muestra el texto que se envía en el correo.

Si te fijas bien, vas a encontrar algo como esto en ese archivo:
imagen.png.26fb15362c9284561b40bf44f7be1b01.png

Cada una de esas palabras, que están encerradas en corchetes "{ }", son las variables de la plantilla que se enviaron anteriormente.
Una vez sepas que es lo que quieres modificar, te recomiendo buscar el mismo texto que quieres modificar del TXT en el HTML, para que los 2 archivos obtengan los cambios que necesites.

Para el tema del logo, tienes 2 opciones, la primera modificar el logo de tu tienda, ya que el logo por defecto que se selecciona es el almacenado en la base de datos en la tabla "ps_configuration" en la fila que se llama "PS_LOGO" (Básicamente el logo de la tienda), la otra opción es crear un nuevo registro en la base de datos en esa misma tabla, pero este nuevo registro se debe llamar "PS_LOGO_MAIL", y debe tener como valor el nombre de la imagen que vas a utilizar, que deberá estar ubicada en la carpeta de imágenes por defecto "PrestaShop/img".

Para tener en cuenta, si quieres cambiar el tamaño o la disposición de esta imagen en la plantilla, debes ir a al archivo HTML, buscar la variable "{shop_logo}", y modificar los lugares en los cuales se utiliza.

Espero esta información te sea de utilidad. Intente ser lo más específico posible.

PD: Quizá esto te sirva https://devdocs.prestashop-project.org/1.7/development/mail/#add-custom-template

Un saludo...

¿Ya no están las plantillas de email en HTML y texto plano en la versión 8? Sí que se complica entonces...

Link to comment
Share on other sites

4 minutes ago, El plan de Dan said:

¿Ya no están las plantillas de email en HTML y texto plano en la versión 8? Sí que se complica entonces...

Según veo, realmente si están actualmente en HTML y TXT, quizá en mi comentario profundice un poco más de lo que se requería, pero lo ideal era que la explicación fuera lo más minuciosa posible, para su entendimiento.

Sin embargo, concuerdo con lo que menciona @ventura, si se tienen los conocimientos para crear módulos, es mucho más aconsejable manejarlo de esta manera, ya que no se edita el Core de la tienda, y es muy útil en temas de escalabilidad y versionamiento del sistema.

Un saludo...

Link to comment
Share on other sites

19 hours ago, thelion_99 said:

Según veo, realmente si están actualmente en HTML y TXT, quizá en mi comentario profundice un poco más de lo que se requería, pero lo ideal era que la explicación fuera lo más minuciosa posible, para su entendimiento.

Sin embargo, concuerdo con lo que menciona @ventura, si se tienen los conocimientos para crear módulos, es mucho más aconsejable manejarlo de esta manera, ya que no se edita el Core de la tienda, y es muy útil en temas de escalabilidad y versionamiento del sistema.

Un saludo...

Sí, totalmente de acuerdo. Quien tenga conocimientos más técnicos y pueda ir modulando, es lo mejor, que cada actualización si no se vuelve un quebradero de cabeza para repetirlo todo en el código, y aunque documente uno los cambios, se terminan pasando cosas y se acumula trabajo. Di por hecho que era usuario básico, yo es que siempre busco la agilidad y solución al grano, pero igual me vino de escándalo tu explicación. A ver si me meto a ver un poco las tripas de la 8, que últimamente solo le doy al Sitebuilder y poco más. 

Un saludo!

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • monicaamb changed the title to Modificar contenido emails de confirmación de compra [SOLUCIONADO]

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...