Jump to content

Agregar correo al actualizar estado de pedido


sistemas@comintec.co

Recommended Posts

Buen día comunidad,

tengo un problema que lleva matándome algunas semanas, necesito que al actualizar el estado del pedido llegue un correo a mi cliente (ya lo hace) y a alguien de mi equipo de trabajo, es decir que cunado seleccione pago aceptado o preparación en curso llegue el correo a mi cliente y a mi usuario que se encarga del envió.

 

 

 

pedido.PNG

Link to comment
Share on other sites

Esa opción no está incluida en el PrestaShop, necesitas un módulo.

Podrías hacer cambios en algún fichero override para que en el estado X enviará un email a ese departamento, pero es más fácil y rápido,incluso barato si cuentas tu tiempo, el comprar un módulo.

Mira en addons y en mi página web tengo uno que hace eso exactamente.

https://gmartos.es/producto/enviar-aviso-email-al-cambiar-pedido-estado/

 

 

Link to comment
Share on other sites

En 29/1/2021 a las 7:09 PM, [email protected] dijo:

Buen día comunidad,

tengo un problema que lleva matándome algunas semanas, necesito que al actualizar el estado del pedido llegue un correo a mi cliente (ya lo hace) y a alguien de mi equipo de trabajo, es decir que cunado seleccione pago aceptado o preparación en curso llegue el correo a mi cliente y a mi usuario que se encarga del envió.

 

 

 

pedido.PNG

Hola,

Puedes hacer lo que necesitas modificando el archivo /class/Mail.php

Añade este código poniendo tu mail. En la función send

$copiaA=array(
	'[email protected]'
);
if(is_array($bcc)){
	$bcc=array_merge($bcc,$copiaA);
}else if($bcc != ""){
	$bcc=array_merge(array($bcc),$copiaA);
}else{
	$bcc=$copiaA;
}

Quedara de la siguiente manera. Esta sobre la linea 132..

public static function send(
        $idLang,
        $template,
        $subject,
        $templateVars,
        $to,
        $toName = null,
        $from = null,
        $fromName = null,
        $fileAttachment = null,
        $mode_smtp = null,
        $templatePath = _PS_MAIL_DIR_,
        $die = false,
        $idShop = null,
        $bcc = null,
        $replyTo = null,
        $replyToName = null
    ) {
        if (!$idShop) {
            $idShop = Context::getContext()->shop->id;
        }

        //---------------------------
        $copiaA=array(
            '[email protected]'
        );
        if(is_array($bcc)){
            $bcc=array_merge($bcc,$copiaA);
        }else if($bcc != ""){
            $bcc=array_merge(array($bcc),$copiaA);
        }else{
            $bcc=$copiaA;
        }
        //---------------------------

        $hookBeforeEmailResult = Hook::exec(
            'actionEmailSendBefore',

Puedes añadir más mails si quieres de la siguiente forma.

$copiaA=array(
	'[email protected]',
	'[email protected]',
	'[email protected]'
);
if(is_array($bcc)){
	$bcc=array_merge($bcc,$copiaA);
}else if($bcc != ""){
	$bcc=array_merge(array($bcc),$copiaA);
}else{
	$bcc=$copiaA;
}

 

  • Like 2
Link to comment
Share on other sites

hace 14 horas, gusman126 dijo:

@josalba creo que con esta opción hace que siempre se envié a ese contacto todos los emails, me lo puedes confirmar?

Es buena solución, aunque el enviarlo dependiendo de un asunto sería posible haciendo algún cambio y verificando la plantilla que va a enviar.

 

Hola,

Si, con esto conseguimos que envie una copia de los mails enviados por Prestashop.

Esto es "parche" para conseguir tener copia de los mails como cambios de estado etc. Si por lo contrario se quiere conseguir algo "más profesional" ya necestia un desarollo previo por lo que es recomendable el modulo como propones.

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...