Jump to content

Como inserto el nº de seguimiento en el email "pedido en transito"


panoramis

Recommended Posts

Hola cuando cambias el estado de tu pedido a "Enviado" te aparece la opción de "Establecer el numero de envio" dentro del recuadro de "Información de envio".
Lo que no sé si le envia un mail al cliente, pero todo es probarlo no??
Un saludo

Link to comment
Share on other sites

Perdona, pero me habia saltado un paso, dentro del transportista/s que tengas creado/s tienes que activar la url de tu transportista para que al cambiar el estado a enviado te aparezca la opcion de la que te hablaba antes.
Yo no lo he probado pero por lo que he entendido tienes que poner la url de seguimiento de envio junto a una "@".
Al parecer la @ se sustituye por el numero que metas en el detalle del pedido.
Prueba y dinos si funciona asi. Gracias
Un saludo

Link to comment
Share on other sites

Muchísimas gracias hhcj, ya lo he encontrado y funciona perfectamente :)

Por ejemplo para Correos la URL que hay que poner es http://www.correos.es/contenido/13-MenuRec2/01-MenuRec21/track.asp?accion=LocalizaUno№=@

Desde ese momento todos los pedidos nuevos (para los pedidos que ya se habían creado no funciona) te pedirá el localizados y se enviará al cliente un mail con la URL para hacer el seguimiento de su pedido.

De nuevo muchas gracias hhcj, hasta ahora estos mails los enviaba a mano :)

Link to comment
Share on other sites

Gracias por las respuestas, pero no es ese el problema que tengo... me refería a insertar el codigo html en la plantilla del email que el sistema envia al cliente cuando introduces el codigo de seguimiento, el email es "in transit" he insertado el codigo:


Nº de envío: {expedicion}

Pero cuando lo recibes indica "Nº de envío: {expedicion}" pero no el nº de seguimiento.
Un saludo.

Link to comment
Share on other sites

Cierto, me he liado con lo mío y no te he respondido... Echando un vistazo rápido al código lo que debieras hacer es modificar el código de admin/tabs/AdminOrders.php. En torno a la línea 89 está el código en el que se envía el mail "in_transit". Creo que la modificación que habría que hacer es esta:

if ($shipping_number)
               {
                   global $_LANGMAIL;
                   $customer = new Customer(intval($order->id_customer));
                   $carrier = new Carrier(intval($order->id_carrier));
                   if (!Validate::isLoadedObject($customer) OR !Validate::isLoadedObject($carrier))
                       die(Tools::displayError());
                   $templateVars = array(
                       '{followup}' => str_replace('@', $order->shipping_number, $carrier->url),
                       '{firstname}' => $customer->firstname,
                       '{lastname}' => $customer->lastname,
                       '{id_order}' => intval($order->id),
'{expedicion}' => $order->shipping_number
                   );
                   $subject = 'Package in transit';
                   Mail::Send(intval($order->id_lang), 'in_transit', ((is_array($_LANGMAIL) AND key_exists($subject, $_LANGMAIL)) ? $_LANGMAIL[$subject] : $subject), $templateVars, $customer->email, $customer->firstname.' '.$customer->lastname);
               }



NO LO HE PROBADO pero creo que sería algo así. Prueba y luego nos dices ;)

Link to comment
Share on other sites

Gracias por tu respuesta, funciona perfectamente en las versiones nuevas de prestashop pero lo he modificado en una tienda que tengo con la version 1.2.5.0 y no envia ningun correo, sabrías indicarme porque en unas versiones funciona y en otras no? ...y de paso si sabes la solucion.... te lo agradeceria...
Gracias makina.

Link to comment
Share on other sites

Lo que te he pegado antes creo que funcionaria en la 1.3.1 y en la 1.3.2. En la 1.2.5 parece que han cambiado un poco el código pero básicamente es lo mismo. Creo que el problema que tienes es que has copiado directamente lo que he puesto... Si te fijas lo único que he hecho poner una "," (coma) al final de la línea 86 y en la siguiente he insertado '{expedicion}' => $order->shipping_number. Prueba con este código en lugar de con todo el if.

                   $templateVars = array(
                       '{followup}' => str_replace('@', $order->shipping_number, $carrier->url),
                       '{firstname}' => $customer->firstname,
                       '{lastname}' => $customer->lastname,
                       '{id_order}' => intval($order->id),
'{expedicion}' => $order->shipping_number
                   );



Ahora no lo he probado (me duelen los ojos :P), si sigue sin funcionarte me dices y ya lo pruebo con más detalle.

Link to comment
Share on other sites

  • 7 months later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...