Jump to content

Non inviare traking al cliente


Recommended Posts

Ciao

ho bisogno un aiuto :

Ho la necessità di non fare inviare in automatico la mail con il numero di traking al cliente.

In pratica io voglio inserirlo nel campo apposito ma prestashop non deve inviare la mail.

dato che la mail viene inviata direttamente dallo spedizioniere.

 

Qualcuso da dirmi come posso fare a toglierla?

 

grazie in anticipo

Luca

Link to comment
Share on other sites

Ciao, nella cartella mails/it/ hai due email precompilate

 

in_transit.html

 

in_transit.txt

 

devi togliere la riga con la variabile {followup} nel file TXT

 

"Puoi controllare la posizione del tuo pacco cliccando il seguente link: {followup}"

 

e questa riga 

 

 

<td align="left"><strong>Il tuo ordine con riferimento {order_name} è attualmente in viaggio</strong>.<br /><br />Puoi controllare la posizione del tuo pacco cliccando il seguente link: <a href="{followup}">{followup}</a></td>
 
nel file HTML
Link to comment
Share on other sites

grazie della risposta Daniel

io però devo proprio bloccare l'invio della mail.

quando nell'ordine inserisco il codice parte in automatico e non so dove andare a toglierla.

 

non voglio che il cliente riceva la mia mail e quella del corriere.

 

grazie

Link to comment
Share on other sites

scusa, pensavo volessi modificarla.

 

Per eliminare l'invio devi modificare il controller degli ordini che lo trovi in 

 

controllers/admin/AdminOrdersController.php

 

all'interno del codice troverai la funzione @Mail::Send associata al template email in_transit di cui ti parlavo prima.

 

Puoi modificarla o eliminarla direttamente con un commento

Link to comment
Share on other sites

Ciao Daniel

grazie ancora!!

ho trovato la parte che regola l'invio grazie al tuo aiuto

dovrebbe essere questa

 

    // update shipping number
                    // Keep these two following lines for backward compatibility, remove on 1.6 version
                    $order->shipping_number = Tools::getValue('tracking_number');
                    $order->update();

                    // Update order_carrier
                    $order_carrier->tracking_number = pSQL(Tools::getValue('tracking_number'));
                    if ($order_carrier->update())
                    {
                        // Send mail to customer
                        $customer = new Customer((int)$order->id_customer);
                        $carrier = new Carrier((int)$order->id_carrier, $order->id_lang);
                        if (!Validate::isLoadedObject($customer))
                            throw new PrestaShopException('Can\'t load Customer object');
                        if (!Validate::isLoadedObject($carrier))
                            throw new PrestaShopException('Can\'t load Carrier object');
                        $templateVars = array(
                            '{followup}' => str_replace('@', $order->shipping_number, $carrier->url),
                            '{firstname}' => $customer->firstname,
                            '{lastname}' => $customer->lastname,
                            '{id_order}' => $order->id,
                            '{shipping_number}' => $order->shipping_number,
                            '{order_name}' => $order->getUniqReference()
                        );
                        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.');
                    }
                    else
                        $this->errors[] = Tools::displayError('The order carrier cannot be updated.');
                }
            }
            else
                $this->errors[] = Tools::displayError('You do not have permission to edit this.');
        }

 

 

 

 

mi spighi solo come fare a togliere il comando di invio?

 

grazie

Link to comment
Share on other sites

Non l' ho provato ma togli questa, se ti va in errore ricarica il file originale e lunedì ti dico quale

 

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.');

}

else

$this->errors[] = Tools::displayError('The order carrier cannot be updated.');

}

}

else

$this->errors[] = Tools::displayError('You do not have permission to edit this.');

}

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...