Jump to content

Cómo hacer para que al ingresar el número de seguimiento Prestashop no envíe el mail "in transit"


Recommended Posts

Hola, estoy buscando ayuda para poder hacer que al momento de ingresar el número de seguimiento del envío Prestashop no envíe al cliente el mail de "paquete en camino".

 

Probé a eliminar esa plantilla de mail pero me da un error. Estoy usando la versión 1.5.4.1

 

Desde ya muchas gracias!

Share this post


Link to post
Share on other sites

¿Has probado en el panel de tu tienda en la pestaña:

Pedidos -> Estados de pedido

editar el estado de pedido en cuestión y quitar el check de selección de:

Enviar un e-mail al cliente cuando una orden cambie a este estado.

?

  • Like 1

Share this post


Link to post
Share on other sites

Espera un segundo, creo que no esta definido como estado de pedido. (Creo recordar)

 

Ve al fichero:

/controllers/admin/AdminOrdersController.php
Busca esto:

	if (@Mail::Send((int)$order->id_lang, 'in_transit', Mail::l('Package in transit', (int)$order->id_lang), $templateVars,
							$customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null,
							_PS_MAIL_DIR_, true, (int)$order->id_shop))
						{
							Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order, 'customer' => $customer, 'carrier' => $carrier), null, false, true, false, $order->id_shop);
							Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
						}
						else
							$this->errors[] = Tools::displayError('An error occurred while sending an email to the customer.');
					}
Prueba dejarlo asi:

	/*	if (@Mail::Send((int)$order->id_lang, 'in_transit', Mail::l('Package in transit', (int)$order->id_lang), $templateVars,
							$customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null,
							_PS_MAIL_DIR_, true, (int)$order->id_shop))
						{ */
							Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order, 'customer' => $customer, 'carrier' => $carrier), null, false, true, false, $order->id_shop);
							Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
						/*}
						else
							$this->errors[] = Tools::displayError('An error occurred while sending an email to the customer.');
					}*/
Lo normal seria hacer un override, pero no editar el controlador original, pero vamos para salir del paso te lo he comentado a modo rapido editando el original. Edited by nadie (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Hola, gracias por responder!

 

Ya ingresé en Pedidos - Estados de Pedido pero no hay ningún estado que tenga asociada esa plantilla de mail, creo que Prestashop lo envía automáticamente cuando se ingresa el número de seguimiento de envío.

 

Se me ocurre que la única forma sería editando alguna línea de código, pero no tengo idea de que archivo tendría que modificar.

Share this post


Link to post
Share on other sites

Hola, gracias por responder!

 

Ya ingresé en Pedidos - Estados de Pedido pero no hay ningún estado que tenga asociada esa plantilla de mail, creo que Prestashop lo envía automáticamente cuando se ingresa el número de seguimiento de envío.

 

Se me ocurre que la única forma sería editando alguna línea de código, pero no tengo idea de que archivo tendría que modificar.

Te he comentado lo de las lineas de codigo en mi ultimo mensaje, creo que no lo has podido revisar xD

  • Like 1

Share this post


Link to post
Share on other sites

Hola Nadie, probé lo que me comentaste, edité el código pero después de hacer eso no me deja entrar a los PEDIDOS, me aparece una página en blanco.

 

Quizás el problema está en que el código original tiene algunas diferencias con el que me comentaste.

 

Te dejo aquí el código que tenía originalmente:

 

if (@Mail::Send((int)$order->id_lang, 'in_transit', Mail::l('Package in transit', (int)$order->id_lang), $templateVars,
$customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null,
_PS_MAIL_DIR_, true, (int)$order->id_shop))
{
Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order));
Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
}
else
$this->errors[] = Tools::displayError('An error occurred while sending an email to the customer.');
}

Share this post


Link to post
Share on other sites

Me cole al pegar codigo antes, dejalo asi:

 

Es decir, asi:

 

	/*	if (@Mail::Send((int)$order->id_lang, 'in_transit', Mail::l('Package in transit', (int)$order->id_lang), $templateVars,
							$customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null,
							_PS_MAIL_DIR_, true, (int)$order->id_shop))
						{ */
							Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order, 'customer' => $customer, 'carrier' => $carrier), null, false, true, false, $order->id_shop);
							Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
						/*}
						else
							$this->errors[] = Tools::displayError('An error occurred while sending an email to the customer.'); */
					}
Edited by nadie (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Me cole al pegar codigo antes, dejalo asi:

 

Es decir, asi:

 

	/*	if (@Mail::Send((int)$order->id_lang, 'in_transit', Mail::l('Package in transit', (int)$order->id_lang), $templateVars,
							$customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null,
							_PS_MAIL_DIR_, true, (int)$order->id_shop))
						{ */
							Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order, 'customer' => $customer, 'carrier' => $carrier), null, false, true, false, $order->id_shop);
							Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token);
						/*}
						else
							$this->errors[] = Tools::displayError('An error occurred while sending an email to the customer.'); */
					}

 

 

He actualizado mi mensaje. (Revisalo ahora)

  • Like 1

Share this post


Link to post
Share on other sites

Muchas gracias! Quedó andando bien.

 

Un saludo desde Uruguay!

Un placer ayudarte y servirte !

 

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro.

 

Si no encuentras como añadir la palabra "Solucionado" al título del tema, aquí tienes una guía: http://www.prestashop.com/forums/topic/269515-solucionado-%C2%BFcomo-poner-la-palabra-solucionado-en-el-titulo-del-tema/

 

PD: Avisa cuando añadas la palabra "Solucionado" al titulo del tema, para proceder a cerrar el tema.

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