Jump to content

Añadir variables al email enviado cuando pedido cambia de estado


Manuel B

Recommended Posts

Buenos dias, planteo mi pregunta después de mucho googlear y buscar y no obtener resultados finalmente.

 

Trabajo con PS 1.6

 

Os comento lo que trato de hacer.

Simplemente quiero añadir nuevas variables a los mails de plantilla de prestashop. Lo que pretendo es que la plantilla "outofstock" muestre que productos se han quedado sin stock al cliente, mis dudas son:

 

- Sabiendo que el mail se lanza cuando el pedido cambia al estado "pendiente de mercancía".

 

¿Donde se definen las variables disponibles para esta plantilla? No localizo el código en cuestion.

¿Cómo añado una variable nueva?¿Tengo que hacer un override de alguna clase?

 

He localizado temas donde se añaden nuevos campos al mail de confirmación de pedido, pero no me vale el ejemplo, puesto que ese mail se lanza con un hook concreto al confirmar el pedido. El mail que yo necesito enviar se envia cuando el pedido cambia a un estado concreto.

 

Estoy bastante perdido.. si alguien me puede dar una pista se agradece.

Un saludo!

Link to comment
Share on other sites

Muchas gracias Ventura.  pero no me sirve ese hook, por que si no dejaria de funcionar la plantilla que se envia cuando cambias de estado.

 

de todas formas justo ahora acabo de encontrar donde estan las variables dispobibles en estos mails, estan dentro de la clase "orderHistory".

 

Ahora me da problemas el override, pero voy a seguir investigando un poco a ver si lo resuelvo...

Link to comment
Share on other sites

Vale ahora me encuentro con otro problema (soy bastante novato en cuanto a toqueteo de código en prestashop).

Tengo la clase OrderHystory.php con todas sus funciones ahi metidas y yo quiero modificar una función concreta de esta clase ( addWithemail).

he copiado esta clase en el sitio correcto de overrides, dejé todo el código original y añadi una linea para ver si funciona el override.. pero eal hacer esto la pagina web se queda

"colgada" pasa algo pero no se el que por que en el log no pone nada.

 

Quité la linea que añadí en el override por si acaso, lo mismo, la pagina queda colgada.

 

Borro el override y todo vuelve a funcionar. Añado la misma linea de prueba en el original y también funciona... Algo hago mal en el override, pero no se que es.

He borrado la cache etc... etc... no sé que puedo hacer mal, ya he visto la documentación sobre hacer overrides, pero ni lo tengo muy claro ni me funciona.

 

Lo unico que quiero hacer es modificar una función dentro de una clase sin tocar el original

Link to comment
Share on other sites

Vale revise tu respuesta, es cierto, no deja de funcionar no lo pensé muy bien, pero, como duda, para aplicar tu solución deberé crear un modulo para adherirlo a ese hook supongo.

¿es asi?

 Puedes añadir el hook en otro modulo que tengas instalado, por ejemplo el mailalerts

Link to comment
Share on other sites

ok muchas gracias, probaré con tu solución. Aun así en un entorno de prueba trataré de aplicar mi solución, me interesa también saber hacerlo como tenia pensado.

En la documentación sobre prestashop y en los foros hablan de añadir nuevas funciones a las clases, pero en mi caso necesito reescribir una función que ya existe en una clase

No se si se puede hacer, si es la misma situación o que.. pero no me funciona, hace que mi web se quede colgada..

 

Gracias por la ayuda

Link to comment
Share on other sites

×
×
  • Create New...