Jump to content

Problème date de livraison sur la facture PDF


Recommended Posts

Bonjour,

Après un migration vers la version 1.5.2 de prestashop qui ne s'est pas trop mal passée, je viens de m’apercevoir que sur les factures la date approximative de livraison est buggée.

 

Le message en bas de la facture n'indique pas de date mais "array".

Date approximative de livraison est entre le Array et le Array

 

J'ai mis une capture d'écran en pièce attachée.

post-296096-0-44664000-1356181939_thumb.jpg

Link to comment
Share on other sites

  • 5 weeks later...
  • 2 weeks later...

Même problème ! Et en plus vous avez de la chance, vous avez le problème en français... moi je l'ai en anglais hihihi !

Bon plus sérieusement, ce serait bien d'avoir une solution, car comme le précise Axodav, la mention de la date estimée de livraison est maintenant obligatoire !

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 2 weeks later...

Bonjour,

 

la seule obligation légale concerne l'affichage des délais au moment de la commande client (tunnel de commande).

 

Voici un début de solution qui permet de ne plus afficher la mention "Date de livraison" (et donc plus le bug ;-) ) sur les factures (tout en conservant les dates dans le tunnel de commande).

 

- Connectez-vous en FTP, dans le dossier "modules"

- Trouvez le dossier "dateofdelivery" (dossier de ce module)

- Editez le fichier "dateofdelivery.php"

- Supprimez les lignes 183 à 202, dont voici le contenu :

 

public function hookDisplayPDFInvoice($params)
{
 $order_invoice = $params['object'];
 if (!($order_invoice instanceof OrderInvoice))
  return;
 $order = new Order((int)$order_invoice->id_order);
 $oos = false; // For out of stock management
 foreach ($order->getProducts() as $product)
  if ($product['product_quantity_in_stock'] < 1)
$oos = true;
 $id_carrier = (int)OrderInvoice::getCarrierId($order_invoice->id);
 $return = '';
 if ($datesDelivery = $this->_getDatesOfDelivery($id_carrier, $oos, $order_invoice->date_add))
  $return = sprintf($this->l('Approximate date of delivery is between %1$s and %2$s'), $datesDelivery[0], $datesDelivery[1]);
 return $return;
}

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...

Bonsoir,

 

Allez dans le fichier modules/dateofdelivery/dateofdelivery.php

 

Dans la fonction hookDisplayPDFInvoice ligne 198, remplacez :

 

if ($datesDelivery = $this->_getDatesOfDelivery($id_carrier, $oos, $order_invoice->date_add))
 $return = sprintf($this->l('Approximate date of delivery is between %1$s and %2$s'), $datesDelivery[0], $datesDelivery[1]);

 

par :

 

if ($datesDelivery = $this->_getDatesOfDelivery($id_carrier, $oos, $order_invoice->date_add))
$return = sprintf($this->l('Approximate date of delivery is between %1$s and %2$s'), $datesDelivery[0][0], $datesDelivery[1][0]);

 

$datesDelivery est en fait un tableau à deux dimensions !

 

^_^

Edited by DK Exo (see edit history)
  • Like 4
Link to comment
Share on other sites

  • 10 months later...

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