kimzey 3 Posted September 17, 2013 (edited) Bonjour, Je cherche à ajouter le champs commentaire client sur les bons de livraison. J'ai fouillé un peu dans delivery-slip.tpl mais je n'ai pas réussi à ajouter ce champ. Quelqu'un sait il comment faire ? Merci. Edited September 18, 2013 by kimzey (see edit history) Share this post Link to post Share on other sites
indesign47 101 Posted September 17, 2013 Bonsoir, delivery-slip.tpl (dossier pdf) ligne 101 environ {if isset($message)} <b>{l s='Message:' pdf='true'}</b><br /> {$message}<br /> <br /> {/if} HTMLTemplateDeliverySlip.php (dossier classes > pdf) ligne 64 environ //add Message $message = $this->order->getFirstMessage(); $carrier = new Carrier($this->order->id_carrier); $carrier->name = ($carrier->name == '0' ? Configuration::get('PS_SHOP_NAME') : $carrier->name); $this->smarty->assign(array( 'order' => $this->order, 'order_details' => $this->order_invoice->getProducts(), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'order_invoice' => $this->order_invoice, 'carrier' => $carrier, 'message' => $message, )); Résultat 1 Share this post Link to post Share on other sites
kimzey 3 Posted September 18, 2013 Bonjour, Merci une nouvelle fois pour ton aide, ta solution fonctionne parfaitement !. 1 Share this post Link to post Share on other sites
Trephisto 4 Posted September 23, 2013 Bonjour à tous, Indesign, ta solution m'a bien aidé également, merci! Tu ne saurais pas comment on peut afficher l'adresse e-mail du client également? Merci d'avance! Share this post Link to post Share on other sites
indesign47 101 Posted September 23, 2013 Bonjour Trephisto, Je regarde ta demande dans la journée. Cordialement. Share this post Link to post Share on other sites
Trephisto 4 Posted September 23, 2013 Merci indesign, très sympa! J'ai aussi vu dans ton exemple que tu as rajouté le transporteur, cela m'intéresse également donc j'ai rajoute les 3 lignes de ton exemple concernant le "Carrier" dans ma classe HTMLTemplateDeliverySlip.php et dans delivery-slip.tpl j'ai rajouté : <b>{l s='Transporteur :' pdf='true'}</b><br /> {$carrier}<br /> Mais cela ne fonctionne pas, est ce que je m'y suis mal pris? Share this post Link to post Share on other sites
Trephisto 4 Posted September 23, 2013 (edited) En m'aidant de la classe de la facture et d'éléments trouvés sur le net j'ai réussi à ajouter l'adresse e-mail finalement : delivery-slip.tpl {$customer_email} HTMLTemplateDeliverySlip.php $customer = new Customer((int)$this->order->id_customer); $customer_email = $customer->email; $this->smarty->assign(array( 'order' => $this->order, 'order_id' => $this->order_invoice->id_order, 'order_details' => $this->order_invoice->getProducts(), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'order_invoice' => $this->order_invoice, 'carrier' => $carrier, 'message' => $message, 'customer_email' => $customer_email )); Manque plus que le transporteur et ce sera parfait Edited September 23, 2013 by Trephisto (see edit history) 1 Share this post Link to post Share on other sites
indesign47 101 Posted September 23, 2013 (edited) Bonjour Trephisto, delivery-slip.tpl (dossier pdf) ligne 101 environ {if isset($message)} <b>{l s='Message:' pdf='true'}</b><br /> {$message}<br /> <br /> {/if} {if isset($customer_email)} <b>{l s='Customer email:' pdf='true'}</b><br /> {$customer_email}<br /> <br /> {/if} HTMLTemplateDeliverySlip.php (dossier classes > pdf) ligne 52 environ public function getContent() { $delivery_address = new Address((int)$this->order->id_address_delivery); $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '<br />', ' '); $formatted_invoice_address = ''; if ($this->order->id_address_delivery != $this->order->id_address_invoice) { $invoice_address = new Address((int)$this->order->id_address_invoice); $formatted_invoice_address = AddressFormat::generateAddress($invoice_address, array(), '<br />', ' '); } $carrier = new Carrier($this->order->id_carrier); $carrier->name = ($carrier->name == '0' ? Configuration::get('PS_SHOP_NAME') : $carrier->name); //add Message $message = $this->order->getFirstMessage(); //add Customer email $customer = new Customer((int)$this->order->id_customer); $customer_email = $customer->email; $this->smarty->assign(array( 'order' => $this->order, 'order_details' => $this->order_invoice->getProducts(), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'order_invoice' => $this->order_invoice, 'carrier' => $carrier, 'message' => $message, 'customer_email' => $customer_email, )); return $this->smarty->fetch($this->getTemplate('delivery-slip')); } PS Il faut traduire les champs Edited September 23, 2013 by indesign (see edit history) Share this post Link to post Share on other sites
Trephisto 4 Posted September 23, 2013 Merci beaucoup pour ces précisions indesign. Il manque juste une petite chose c'est ce que qui affiche le transporteur dans le tpl. J'ai réussi à l'afficher en faisant : {$carrier->name} C'est parfait pour moi maintenant, merci encore 1 Share this post Link to post Share on other sites
Fanny Abysse 1 Posted October 4, 2016 Bonjour, Après 3 ans je me permets de ré-ouvrir ce sujet... Je cherche à ajouter dans le BL le champs "message client" pour faciliter la vie de notre logisticien et surtout satisfaire les demandes de nos clients. J'ai appliqué les instructions ci-dessous, mais malheureusement j'ai une erreur 500 lorsque que je veux télécharger le BL. Quelqu'un aurait une solution ? Version Prestashop : 1.6.1.4 Merci pour vos réponses ! Bonsoir, delivery-slip.tpl (dossier pdf) ligne 101 environ {if isset($message)} <b>{l s='Message:' pdf='true'}</b><br /> {$message}<br /> <br /> {/if} HTMLTemplateDeliverySlip.php (dossier classes > pdf) ligne 64 environ //add Message $message = $this->order->getFirstMessage(); $carrier = new Carrier($this->order->id_carrier); $carrier->name = ($carrier->name == '0' ? Configuration::get('PS_SHOP_NAME') : $carrier->name); $this->smarty->assign(array( 'order' => $this->order, 'order_details' => $this->order_invoice->getProducts(), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'order_invoice' => $this->order_invoice, 'carrier' => $carrier, 'message' => $message, )); Résultat message.png Share this post Link to post Share on other sites
andre.laguerre 1 Posted November 18, 2016 Bonjour,J'avais appliqué ceci depuis longtemps, et cela fonctionnait très bien sur le 1.6.1.4Depuis que j'ai fait la mise à jour vers 1.6.1.9, j'ai réappliqué le m^me methode dans mes fichiers comme indiqué ci-dessus mais je n'ai rien qui s'affiche ? Avez-vous une idée ? D'avance Merci. André. Share this post Link to post Share on other sites
badi3 3 Posted November 22, 2016 j'ai 1.6.1.7, ça marche bien, n'oublie pas de mettre le code avant le } // footer informations $this->shop = new Shop((int)$this->order->id_shop); //add Message $message = $this->order->getFirstMessage(); $carrier = new Carrier($this->order->id_carrier); $carrier->name = ($carrier->name == '0' ? Configuration::get('PS_SHOP_NAME') : $carrier->name); $this->smarty->assign(array( 'order' => $this->order, 'order_details' => $this->order_invoice->getProducts(), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'order_invoice' => $this->order_invoice, 'carrier' => $carrier, 'message' => $message, )); } Share this post Link to post Share on other sites
ahcheval 0 Posted November 30, 2018 Bonjour, Comme j'ai un peu galéré, je partage ce que j'ai fait pour avoir l'email du client sur le B/L avec un Prestashop 1.6.0, en noir les lignes existantes, en rouges les lignes de codes à ajouter. Et ça marche, ouf! Par contre, pour le message du client, ça ne marchait pas, ça affichait des informations sur le paiement à la place donc j'ai supprimé la partie message et ça me va. Voilà il ne me reste plus qu'à trouver un moyen d'afficher l'EAN des déclinaisons sur le B/L. En espérant que ce post sera utile à quelqu'un. Fichier HTMLTemplateDeliverySlip.php (dossier classes > pdf) // footer informations $this->shop = new Shop((int)$this->order->id_shop); //add Customer email $customer = new Customer((int)$this->order->id_customer); $customer_email = $customer->email; $this->smarty->assign(array( 'order' => $this->order, 'order_details' => $this->order_invoice->getProducts(), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'order_invoice' => $this->order_invoice, 'carrier' => $carrier, 'customer_email' => $customer_email, )); } /** * Returns the template's HTML content Fichier delivery-slip.tpl (dossier pdf) {if isset($carrier)} <b>{l s='Carrier:' pdf='true'}</b><br /> {$carrier->name}<br /> <br /> {/if} {if isset($customer_email)} <b>{l s='Customer email:' pdf='true'}</b><br /> {$customer_email}<br /> <br /> {/if} <!-- / CUSTOMER INFORMATIONS --> Share this post Link to post Share on other sites
dgjauto71 1 Posted May 15, 2019 Bonjour Je déterre le topic car ma demande est presque similaire et je ne suis pas certain qu'un nouveau post soit utile, cela sera plus en complément après réponse Je voudrais faire apparaitre sur mon bon de livraison la référence fournisseur de chaque produit, j'utilise cette mention plus pour des infos de préparation (emplacement et/ou mention complémentaire....des infos internes pour le préparateur de paquet). Je suis sous la version 1.6.1.4 Merci de votre aide Share this post Link to post Share on other sites