Julio_EH Posted May 15, 2013 Share Posted May 15, 2013 (edited) Bonjour tout le monde, Je suis en train de personnaliser la facture, et je souhaite entre autres utiliser un logo plus haut que ce qui est prévu initialement par prestashop. J'ai copié le fichier pdf/header.tpl dans montheme/pdf/header.tpl, pour surcharger et non modifier directement le fichier d'origine. Puis, à la place de (ligne 29) : <img src="{$logo_path}" style="width:{$width_logo}px; height:{$height_logo}px;" /> j'ai mis : <img src="entete_facture.jpg" width="827" height="236" /> (le code est en dur et je ne passe pas volontairement par l'administration pour gérer le logo) Mon logo s'affiche comme souhaité, mais il est plus haut que la taille prévu initialement par prestashop, donc l'adresse de livraison se retrouve à cheval sur mon logo. De la même manière, j'ai un footer plus haut, avec le nom de la boutique,l'adresse etc, et un QRcode. Du coup, si la liste des produits achetés est longue, elle passe sous mon QRcode. J'ai l'impression que la dimension du header et du footer (peut être même du contenu principal) est définie en dur quelque part (peut être dans tools/tcpdf/tcpdf.php), mais je ne parviens pas à mettre la main dessus. Si quelqu'un a une idée je suis preneur. Merci d'avance, Julien Edited May 17, 2013 by Julio_EH (see edit history) Link to comment Share on other sites More sharing options...
Julio_EH Posted May 16, 2013 Author Share Posted May 16, 2013 up ? Link to comment Share on other sites More sharing options...
Julio_EH Posted May 17, 2013 Author Share Posted May 17, 2013 Ok, apparement dans /classes/pdf/PDFgenerator.php à la ligne 155 il y a ceci : $this->setMargins(10, 40, 10); Le premier chiffre correspond à la marge de gauche, le second à la marge du haut, et le troisième à la marge de droite. J'ai donc fait un override de cette classe et j'ai modifié de la façon suivante : $this->setMargins(10, 60, 10); Concernant le pied de page, juste en dessous vous trouverez cette ligne : $this->SetAutoPageBreak(true, PDF_MARGIN_BOTTOM); Sauf que le PDF_MARGIN_BOTTOM est défini dans tools/tcpdf/config/tcpdf_config.php que l'on ne peut donc pas overrider (du moins je crois). J'ai donc modifié la valeur directement dans l'override de ma classe PDFgenerator.php en espérant que PDF_MARGIN_BOTTOM n'est pas appelé ailleurs : $this->SetAutoPageBreak(true, 50); Sinon, je suis tombé sur ce post où en fait l'auteur supprime carrément le contenu du header.tpl, et le recopie dans invoice.tpl . Pourquoi pas, mais à condition de recopier le header.tpl dans les autres templates aussi (delivery-slip.tpl, etc) : http://www.prestashop.com/forums/topic/213664-guide-modifying-prestashop-15-invoice-template/page__st__20 Link to comment Share on other sites More sharing options...
PsychoZzzorD Posted April 12, 2017 Share Posted April 12, 2017 Bonjour Julio,Merci pour l'info.J'ai juste un question qui est, pourquoi les développeurs de chez presta ne suivent jamais les conventions du code ?La première valeur déclaré quand on parle de propriété CSS c'est le TOP ! Et ça tourne dans le sens des aiguilles d'une montre (top, right, bottom, left) pas left top right sans bottom ! 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