Jump to content

SOLUCIONADO Contador de pedidos de un mismo cliente


erty2288
 Share

Recommended Posts

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 by erty2288 (see edit history)

Share this post


Link to post
Share on other sites

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 by ventura (see edit history)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 by ventura (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

post-107989-0-93780400-1419056902_thumb.png

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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}

post-107989-0-69947700-1419072901_thumb.png

Edited by ventura (see edit history)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More