Bonjour,
Je poste ici la modif de code réalisée pour ne récupérer que le numéro de suivi lors du scan du QR Code de la Poste.
Je ne connais pas le PHP, il y a sans doute mieux à faire, mais ça peut toujours dépanner quelqu'un...
Dans le fichier AdminOrdersController.php
public function postProcess()
{
// If id_order is sent, we instanciate a new Order object
if (Tools::isSubmit('id_order') && Tools::getValue('id_order') > 0)
{
$order = new Order(Tools::getValue('id_order'));
if (!Validate::isLoadedObject($order))
$this->errors[] = Tools::displayError('The order cannot be found within your database.');
ShopUrl::cacheMainDomainForShop((int)$order->id_shop);
}
/* Update shipping number */
if (Tools::isSubmit('submitShippingNumber') && isset($order))
{
if ($this->tabAccess['edit'] === '1')
{
$order_carrier = new OrderCarrier(Tools::getValue('id_order_carrier'));
//*** Ajout ==> Extraction numéro de suivi Scan la Poste
if (preg_match('/%00000/',Tools::getValue('tracking_number')) == 1)
$shipping_number_la_poste = substr(Tools::getValue('tracking_number'),8,14);
else
$shipping_number_la_poste = Tools::getValue('tracking_number');
//*** Fin Ajout
if (!Validate::isLoadedObject($order_carrier))
$this->errors[] = Tools::displayError('The order carrier ID is invalid.');
//***Remplacer la ligne ci-dessous
elseif (!Validate::isTrackingNumber(Tools::getValue('tracking_number')))
//***Par
elseif (!Validate::isTrackingNumber($shipping_number_la_poste))
$this->errors[] = Tools::displayError('The tracking number is incorrect.');
else
{
// update shipping number
// Keep these two following lines for backward compatibility, remove on 1.6 version
//***Modif ==> Remplacer la ligne ci-dessous
$order->shipping_number = Tools::getValue('tracking_number');
//***==> Par
$order->shipping_number = $shipping_number_la_poste;
$order->update();
// Update order_carrier
//***Modif ==> Remplacer la ligne ci-dessous
$order_carrier->tracking_number = pSQL(Tools::getValue('tracking_number'));
//***==>Par
$order_carrier->tracking_number = pSQL($shipping_number_la_poste);
Encore merci pour votre aide. 👍