erty2288 Posted December 18, 2014 Share Posted December 18, 2014 (edited) Hola buenas. Quería saber si alguien sabe si es posible poner en el email que te llega de comunicacion de nuevo pedido en tu tienda, el numero de pedidos que tiene ese usuario con anterioridad. Se que es facil mirarlo en el back office pero llegado el momento de trabajo solo miro los citados email y me seria de gran ayuda para saber si el cliente es nuevo o si ya le hemos llevado alguna otra vez, por el hecho de confirmar direcciones, etc... Mi tienda es de venta online de pizzas, y claro en el jaleo me es difícil entrar en el back y mirar los pedidos. Trabajo solo con los mensajes que me mandan al correo. Un saludo. Edited December 20, 2014 by erty2288 (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted December 18, 2014 Share Posted December 18, 2014 Para hacer lo que quieres puedes utilizar la funcion Order::getCustomerOrders($this->context->customer->id) Incluyendola en el archivo classes/PaymentModule.php Link to comment Share on other sites More sharing options...
erty2288 Posted December 19, 2014 Author Share Posted December 19, 2014 Hola Ventura y gracias por tu respuesta, pero no se como debo incluir lo que me dices en el archivo mencionado. Me podrias decir como hacerlo exactamente? Un saludo Link to comment Share on other sites More sharing options...
ventura Posted December 19, 2014 Share Posted December 19, 2014 (edited) Incluyendo esto, tienes el numero total de pedidos de cada cliente, $orders = Order::getCustomerOrders($this->context->customer->id); $total_orders = count($orders); Luego añade la variable nueva en el y en la plantilla del correo $data = array( Edited December 19, 2014 by ventura (see edit history) Link to comment Share on other sites More sharing options...
erty2288 Posted December 19, 2014 Author Share Posted December 19, 2014 Perdona pero no acabo de entender. Osea pego las dos primeras lineas en el PaymetModule.php en donde quiera?? Y luego lo otro donde y como y con que variable?? Ya lo siento pero no tengo mucha idea como podras ver... Gracias otra vez por tu interes. Link to comment Share on other sites More sharing options...
ventura Posted December 19, 2014 Share Posted December 19, 2014 (edited) En el archivo PaymentModule.php Busca esta parte // Order is reloaded because the status just changed $order = new Order($order->id); Y dejala asi: // Order is reloaded because the status just changed $order = new Order($order->id); $orders_customer = Order::getCustomerOrders($this->context->customer->id); $total_orders_customer = count($orders_customer); Un poco mas abajo en $data = array( Añade esto a las demas variables que hay, no olvides la coma al final '{pedidos}' => $total_orders_customer, Luego en la plantilla de mail onder_conf añade esto, asi por ejemplo <span style="font-weight: bold;">Order:</span> {order_name} <br/> <span style="font-weight: bold;">Placed on:</span> {date} <br/> <span style="font-weight: bold;">Payment:</span> {payment} <br/> <span style="font-weight: bold;">Your total orders:</span> {pedidos} Edited December 20, 2014 by ventura (see edit history) 1 Link to comment Share on other sites More sharing options...
erty2288 Posted December 20, 2014 Author Share Posted December 20, 2014 Hola Ventura. He hecho las modificaciones en el PaymentModule y en la plantilla del email pero al mandarme el correo de confirmacion, me sale el nuevo campo pero me aparece {pedidos} donde tendria que estar el numero de los pedidos. Link to comment Share on other sites More sharing options...
ventura Posted December 20, 2014 Share Posted December 20, 2014 Como puedes ver en la imagen adjuntada funciona sin problemas en instalacion con 1.6.0.9. Revisa los pasos realizados, borra archivo cache/class_index.php O revisa la carpeta override/classes Por si tienes un archivo PaymentModule.php que sobreescriba al que estás modificando Link to comment Share on other sites More sharing options...
erty2288 Posted December 20, 2014 Author Share Posted December 20, 2014 He borrado el archivo class_index.php y el PaymentModule.php de la carpeta override/classes y nada. Las modificaciones en el archivo PaymentModule.php tambien creo que estan bien hechas. La duda que tengo es de como he añadido la linea en las plantillas de los email. En la plantilla onder_config , que es el email que se le manda al cliente,lo he añadido con el editor de archivos pegando la linea que me pusiste y ahora tras borrar la cache y eso, me sale el espacion en blanco donde tendria que estar el numero. Sin envargo para la plantilla del email que mandan a la tineda para confirmar un nuevo pedido, no he encontrado el archivo y entonces lo he modificado directamente en traducciones/plantillas de e-mail en la plantilla new_order. EN este ultimo email lo que me aparece es {pedidos} al recibirlo. No se si sera por esto, porque parece que el php si que esta bien modificado. Link to comment Share on other sites More sharing options...
ventura Posted December 20, 2014 Share Posted December 20, 2014 (edited) Prueba a añadir la variable directamente en el order_conf.html accediendo desde mails/es/order_conf.html Para recibirlo en el mail de informacion de pedido, hay que añadir la variable en el modulo Mailalerts, el desarrollo que te he dicho es para que le aparezca al cliente en el correo de confirmacion del pedido Para que te aparezca a ti en el correo de notificacion de pedido tienes que hacer los mismo en modules/mailalerts/mailalerts.php (linea 323 mas o menos) En esta parte , antes de $template_vars = array( Añades $orders_customer = Order::getCustomerOrders($this->context->customer->id); $total_orders_customer = count($orders_customer); Y luego debajo de $template_vars = array( La variable con las demas '{pedidos}' => $total_orders_customer, Y por ultimo la añades en la plantilla modules/mailalerts/mails/new_order.html Asi por ejemplo Detalles del pedido </p> <span style="color:#777"> <span style="color:#333"><strong>Pedido:</strong></span> {order_name} Situado en {date}<br /><br /> <span style="color:#333"><strong>Pago:</strong></span> {payment} <span style="color:#333"><strong>Numero de pedidos:</strong></span> {pedidos} Edited December 20, 2014 by ventura (see edit history) Link to comment Share on other sites More sharing options...
erty2288 Posted December 20, 2014 Author Share Posted December 20, 2014 Ahora si. Muchas gracias. En la otra plantilla no soy capaz de hacerlo, pero realmente lo que me interesaba es que me lo indicara en el correeo que me mandan a mi. Asi que perfecto. Doy el tema por solucionado. Muchas gracias de nuevo. Link to comment Share on other sites More sharing options...
Recommended Posts