Calamar1977 Posted September 24, 2014 Share Posted September 24, 2014 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! Link to comment Share on other sites More sharing options...
nadie Posted September 24, 2014 Share Posted September 24, 2014 ¿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. ? 1 Link to comment Share on other sites More sharing options...
nadie Posted September 24, 2014 Share Posted September 24, 2014 (edited) 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 September 24, 2014 by nadie (see edit history) 1 Link to comment Share on other sites More sharing options...
Calamar1977 Posted September 24, 2014 Author Share Posted September 24, 2014 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. Link to comment Share on other sites More sharing options...
nadie Posted September 24, 2014 Share Posted September 24, 2014 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 1 Link to comment Share on other sites More sharing options...
Calamar1977 Posted September 24, 2014 Author Share Posted September 24, 2014 Voy a probar lo que me comentas y te cuento como me va. Muchas gracias! Link to comment Share on other sites More sharing options...
Calamar1977 Posted September 24, 2014 Author Share Posted September 24, 2014 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.'); } Link to comment Share on other sites More sharing options...
nadie Posted September 24, 2014 Share Posted September 24, 2014 (edited) 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 September 24, 2014 by nadie (see edit history) 1 Link to comment Share on other sites More sharing options...
nadie Posted September 24, 2014 Share Posted September 24, 2014 Fijate que te dije en mi primera respuesta comente un corchete de mas, y en el ultimo no te puse ese corchete, ya que ese corchete no lo tienes que comentar. Con corchete, me refiero a esto: } 1 Link to comment Share on other sites More sharing options...
nadie Posted September 24, 2014 Share Posted September 24, 2014 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) 1 Link to comment Share on other sites More sharing options...
Calamar1977 Posted October 1, 2014 Author Share Posted October 1, 2014 Muchas gracias! Quedó andando bien. Un saludo desde Uruguay! Link to comment Share on other sites More sharing options...
nadie Posted October 1, 2014 Share Posted October 1, 2014 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. Link to comment Share on other sites More sharing options...
Recommended Posts