Ambigua Posted April 11, 2011 Share Posted April 11, 2011 (edited) Salut !<br><br>J'ai besoin d'afficher le poids de la commande sur la facture...<br><br>Déjà, ou est creer le PDF de la facture ???<br><br>Ensuite, en regardant dans la BDD, j'ai pas trouver l'info du poids total de la commande, elle est aps stockée !<br><br>donc je vais devoir la calculer en fonction de la commande a chaque génération de facture ...???<br><br>Donc autre truc, afficher la tranche de poids utiliser pour le calcul du montant des frais de port !!<br><br>En affichant de "5 a 6 Kg" par exemple !!<br><br>Est ce possible plus facilement ?<br><br>Des pistes ?<br><br>Merci ! Edited November 5, 2012 by Ambigua (see edit history) Link to comment Share on other sites More sharing options...
Broceliande Posted April 11, 2011 Share Posted April 11, 2011 Salut , Salut !J'ai besoin d'afficher le poids de la commande sur la facture...Déjà, ou est creer le PDF de la facture ??? /classes/PDF.phpEnsuite, en ragardant dans la BDD, j'ai pas trouver l'info du poids total de la commande, elle est aps stockée !donc je vais devoir la calculer en fonction de la commande a chaque génération de facture ...??? Effectivement, à chaque fois... Mais pour celà il suffit d'appeler $order->getTotalWeight()Donc autre truc, afficher la tranche de poids utiliser pour le calcul du montant des frais de port !!En affichant de "5 a 6 Kg" par exemple !! Ca je n'ai pas compris ? Le calcul des frais de port est déja fait dans le PDF , on n'y touche plus à postériori.Tu parles de le configurer ?Edit : Evite les ?!!! partout , on a l'impression de se faire eng.... Link to comment Share on other sites More sharing options...
Ambigua Posted April 11, 2011 Author Share Posted April 11, 2011 Salut !Merci pour la réponse (rapide en plus) !Bon, j'ai regarder dans classes/PDF.php, ca me semble pas très clair .. mais j'ai cru comprendre que ce que qui m'interesse est vers la ligne 483 ..L'ideal pour moi est d'écrire Transporteur : La poste (12Kg) dans la facture, donc je va essayer de bidouiller !!!Je revient si je bloque ... ou si j'y suis arriver.. pour poster la réponse, ca peut servir a d'autres !! Link to comment Share on other sites More sharing options...
Broceliande Posted April 11, 2011 Share Posted April 11, 2011 Un détail ... mais qui a son importance :voir iciJ'aurais pu te donner un bout de code pour te faciliter la tâche , mais sans la version , je fais pas Link to comment Share on other sites More sharing options...
Ambigua Posted April 11, 2011 Author Share Posted April 11, 2011 ooppss !!v'loi qui est corrigé !Donc j'ai tenter quelques trucs ..dont :ligne 443 de classes/PDF.php (ou 483 en 1.4.x $pdf->Cell(70, 6, self::l('Carrier:').($order->gift ? ' '.Tools::iconv('utf-8', self::encoding(), $carrier->name) : '').$order->getTotalWeight().'Kg', 'L');/code]Mais ca m'affiche :Transporteur : 18KgLa posteComment faire pour que ca affiche sur une ligne ? : Transporteur : La poste ( 18Kg) ? Link to comment Share on other sites More sharing options...
Broceliande Posted April 11, 2011 Share Posted April 11, 2011 il y a une raison pour utiliser $order->gift ?sinon iconv n'est pas utilse non plus , c'est pour les devises: $pdf->Cell(70, 6, self::l(‘Carrier: ’).$carrier->name.$order->getTotalWeight().‘Kg’, ‘L’); Link to comment Share on other sites More sharing options...
Ambigua Posted April 11, 2011 Author Share Posted April 11, 2011 il y a une raison pour utiliser $order->gift ? Alors là, faut pas me demander a moi ... c'est le code "d'origine" ... sinon iconv n'est pas utilse non plus , c'est pour les devises: $pdf->Cell(70, 6, self::l(‘Carrier: ’).$carrier->name.$order->getTotalWeight().‘Kg’, ‘L’); Merci !!Ton code marche avec quelques petites modifs qui donne : $pdf->Cell(70, 6, self::l('Carrier:').' '.($carrier->name.' ('.$order->getTotalWeight().'Kg)'), 'L'); Link to comment Share on other sites More sharing options...
Broceliande Posted April 11, 2011 Share Posted April 11, 2011 Ah ben oui .. je n'ai pas prêté attention aux parenthèses que tu souhaitais ... je me suis contenté de corriger le code.L'essentiel est que tu aies obtenu le résultat souhaité Link to comment Share on other sites More sharing options...
Ambigua Posted April 11, 2011 Author Share Posted April 11, 2011 Oui, et puis tu as mis des ` que mon php aiment pas.. j'ai mis des ' et j'en ai profiter pour tout mettre sur une seule ligne.. ( plus propre je trouve) et d'ajoute l'email du client sur la facture Merci en tout cas pour l'aide !!Pour l'ajout de l'email dans la facture Ligne 414 pour la 1.3.6 : //Ajout de l'email du client $pdf->Cell($width, 10, $invoice_customer->email, 0, 'L'); //Fin ajout email du client Et le "bloc" sur une ligne avec en plus le poids de la commande :vers la ligne 447 //Modif pour inclure le poids dans la facture et mise sur une ligne $pdf->Cell(55, 6, self::l('Order #').sprintf('d', self::$order->id), 'LRB', 0); $pdf->Cell(50, 6, self::l('Carrier:').' '.($carrier->name.' ('.round($order->getTotalWeight(),2).'Kg)'), 'LRB'); $pdf->Cell(0, 6, self::l('Payment method:').Tools::iconv('utf-8', self::encoding(), $order->payment), 'LRB'); /* $pdf->Ln(5); $pdf->Cell(55, 6, (isset($shipping_date) ? self::l('Shipping date:').' '.Tools::displayDate($shipping_date, self::$order->id_lang) : ' '), 'LB', 0); $pdf->Cell(70, 6, ($order->gift ? self::l('Gift-wrapped order') : Tools::iconv('utf-8', self::encoding(), $carrier->name)), 'LRB'); $pdf->Cell(0, 6, Tools::iconv('utf-8', self::encoding(), $order->payment), 'LRB'); */ $pdf->Ln(15); ca peut servir a d'autres Link to comment Share on other sites More sharing options...
gmasson Posted July 7, 2011 Share Posted July 7, 2011 Merci pour ces indications pour l'ajout de l'email du client dans la facture PDF. Mais je suis sous version 1.4.1 et impossible de le faire afficher.. des idées ?Merci Link to comment Share on other sites More sharing options...
laurent75014 Posted July 28, 2011 Share Posted July 28, 2011 Bonsoir, Merci pour ces idées. J'aurais également voulu ajouter une colonne à ma facture avec le poids unitaire de chaque produit. Ca permet de vérifier que tous les poids des produits sont bien renseignés. Dans le cas contraire, penser que le poids total est erroné. Merci d'avance pour votre aide. PS 1.4.3 Link to comment Share on other sites More sharing options...
lanner Posted October 17, 2011 Share Posted October 17, 2011 Bonsoir Est il possible d'avoir le code pour avoir l'email du client(e) dans la partie haut gauche "livraison" ? Merci beaucoup Link to comment Share on other sites More sharing options...
carawen Posted June 19, 2012 Share Posted June 19, 2012 Bonjour, moi aussi je veut ajouter une ligne au dessous dans la colonne Livraison sans gâcher l'ancien affichage de ma facture : j'aurais 5 lignes a la Facturation et 6 à la livraison. le faite que je veux ajouter cette ligne c'est que j'utilise le module relais et dans l'adresse de livraison je n'ai que l'adresse du point relais or je veut ajouter le nom et prénom du client au dessous. une idée ?? merci d'avance Link to comment Share on other sites More sharing options...
Ambigua Posted November 4, 2012 Author Share Posted November 4, 2012 Salut ! Je deterre ce post car avec la version 1.5.2 ca marche plus .. Donc j'ai créé un repertoire themes/montheme/pdf/ avec dedans invoice.tpl pour personnaliser mes factures.. j'ai ajouter là où je voulais : <b>Poids de la commande :{round($order->getTotalWeight(),2)} Kg</b><br /> <b> Transporteur : {$carrier->name}</b><br /> mais carrier->name ne retourne rien .. en bidouillant, j'ai pu recuperer l'id du carrier ( order->id_carrier ) mais après comment mettre le nom du transporteur ?? j'ai tenté un $carrier = new Carrier($order->id_carrier, $order->id_lang) sans resultat ( page blanche ) Un peu d'aide ?? Link to comment Share on other sites More sharing options...
Ambigua Posted November 5, 2012 Author Share Posted November 5, 2012 Salut ! comme un grand j'ai trouvé ! il faut fait un override de la classe /classes/pdf/HTMLTemplateInvoice.php (copier ce fichier dans /override/classes/pdf/ ) Modifier ce fichier dans la fonction getcontent : public function getContent() { $country = new Country((int)$this->order->id_address_invoice); $invoice_address = new Address((int)$this->order->id_address_invoice); $formatted_invoice_address = AddressFormat::generateAddress($invoice_address, array(), '<br />', ' '); $formatted_delivery_address = ''; //***/ $carrier = new Carrier((int)$this->order->id_carrier, (int)$this->order->id_lang); if ($this->order->id_address_delivery != $this->order->id_address_invoice) { $delivery_address = new Address((int)$this->order->id_address_delivery); $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '<br />', ' '); } $customer = new Customer((int)$this->order->id_customer); $this->smarty->assign(array( 'order' => $this->order, 'order_details' => $this->order_invoice->getProducts(), 'cart_rules' => $this->order->getCartRules($this->order_invoice->id), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'tax_excluded_display' => Group::getPriceDisplayMethod($customer->id_default_group), 'tax_tab' => $this->getTaxTabContent(), 'customer' => $customer, 'carrier' => $carrier )); return $this->smarty->fetch($this->getTemplateByCountry($country->iso_code)); } supprimer le fichier cache/class_index.php pour les soucis de cache.. et voila, le invoice.tpl permet d'afficher le transporteur avec : {carrier->name} Link to comment Share on other sites More sharing options...
Thor007 Posted July 15, 2013 Share Posted July 15, 2013 Bonjour, ça n'a pas l'air de marcher chez moi en 1.5.4.1 .... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now