Comment Modifier cette fichue page de facturation (1 lecteur(s)) (1) Invité(s)
 | | |
|
SUJET: Comment Modifier cette fichue page de facturation
|
chti59
Expert Boarder
Messages: 124
|
Comment Modifier cette fichue page de facturation Il y a 2 Années, 7 Mois
|
Karma: 0
|
Bonjour
Je vais essayer de mettre à jour au fur et à mesure de mes galères cet horrible PDF de facturation.
Ce qu'il faut traduire :
Ligne 68 environs de : \app\code\core\Mage\Sales\Model\Order\Pdf\Invoice.php
| Code : |
$page->drawText(Mage::helper('sales')->__('Invoice # ') . $invoice->getIncrementId(), 35, 780, 'UTF-8');
en
$page->drawText(Mage::helper('sales')->__('FACTURE : ') . $invoice->getIncrementId(), 35, 780, 'UTF-8');
|
Ligne 192 environs de : \app\code\core\Mage\Sales\Model\Order\Pdf\Abstract.php
| Code : |
$page->drawText(Mage::helper('sales')->__('Order # ').$order->getRealOrderId(), 35, 770, 'UTF-8');
en
$page->drawText(Mage::helper('sales')->__('COMMANDE : ').$order->getRealOrderId(), 35, 770, 'UTF-8');
|
Changer taille et emplacement de votre logo :
Ligne 134 environs : \app\code\core\Mage\Sales\Model\Order\Pdf\Abstract.php
| Code : |
$page->drawImage($image, 25, 750, 200, 825);
|
Modifier le look de votre Nom et adresse société :
Ligne 143 environs : \app\code\core\Mage\Sales\Model\Order\Pdf\Abstract.php
| Code : |
$page->setFillColor(new Zend_Pdf_Color_GrayScale(0));
//Couleur de fond
$this->_setFontRegular($page, 5);
//police et taille de caractere : exemple :$this->_setFontBold($page, 10);
$page->setLineWidth(0.5);
//Epaisseur de la ligne
$page->setLineColor(new Zend_Pdf_Color_GrayScale(0.5));
//Couleur de la ligne
$page->drawLine(125, 825, 125, 790);
//position de la ligne
$page->setLineWidth(0);
$this->y = 820;
|
|
|
|
|
Dernière édition: 07/07/09 à 20:53 Par chti59.
|
|
|
Re:Comment Modifier cette fichue page de facturation Il y a 2 Années, 7 Mois
|
Karma: 51
|
Pour avoir la bonne traduction, on peut remplacer :
| Code : |
$page->drawText(Mage::helper('sales')->__('Invoice # ') . $invoice->getIncrementId(), 35, 780, 'UTF-8');
|
Par :
| Code : |
$page->drawText(Mage::helper('sales')->__('Invoice #').' : '.$invoice->getIncrementId(), 35, 780, 'UTF-8');
|
Pour avoir l'heure dans la bonne traduction et format de la date, on peut remplacer :
| Code : |
$page->drawText(Mage::helper('sales')->__('Order Date') .' : '. date( 'D M j Y', strtotime( $order->getCreatedAt() ) ), 35, 770, 'UTF-8');
|
Par : (on peut remplacer 'medium', par 'short' ou autre, selon le format souhaité)
| Code : |
$page->drawText(Mage::helper('sales')->__('Order Date') . ' : ' . $order->getCreatedAtFormated('medium'), 35, 770, 'UTF-8');
|
Sont utilisées uniquement les couleurs en RGB :
| Code : |
$page->setFillColor(new Zend_Pdf_Color_RGB(0.4, 0.4, 0.4));
|
N'oublions pas que Zend permet aussi d'utiliser :
| Code : |
$page->setFillColor(new Zend_Pdf_Color_Html('#07619F'));
|
Un très bon tuto est présent sur Zend_Pdf
|
|
|
|
Dernière édition: 10/07/09 à 15:34 Par CaPiT.
|
|
|
Re:Comment Modifier cette fichue page de facturation Il y a 2 Années, 6 Mois
|
Karma: 6
|
Intéressant ce tuto parce que Magento n'est pas du tout facile pour modifier les éditions.
Pour ce genre de modifs, il vaut mieux mettre ces fichier ailleurs que dans le répertoire app/code/core, donc créer la même arborescence dans le répertoire app/code/local.
2 questions :
-Comment faire pour donner plus de place au texte de l'entreprise : le cadre gris commence trop haut et cache une partie des infos.
-Comment ajouter la date de facture ? Parce que la date de commande n'est pas obligatoire mais informative. La date de facture est obligatoire !
Pour info, une extension gratuite bien utile pour avoir notre format d'adresse européen : www.magentocommerce.com/module/1603/mxperts--customeraddress
Merci
Max
|
|
|
|
|
|
|
Re:Comment Modifier cette fichue page de facturation Il y a 2 Années, 6 Mois
|
Karma: 51
|
Pour le cadre, personnellement j'ai tout changé, en gros il faut modifier les rectangles, ou les lignes, renseigne toi sur Zend_Pdf. Par exemple pour les rectangles tu modifies les coordonnées :
| Code : |
$page->drawRectangle($y1, $x1, $y2, $x2);
|
Si pour toi la date de facture correspond à la date au moment ou tu cliques sur le bouton "imprimer" dans le Back Office alors tu peux utiliser des fonction php simple. Mais Zend_Date est très bien donc il est préférable de le privilégier. Exemple :
| Code : |
$page->drawText(Mage::helper('sales')->__('Invoice Date') .' : '. new Zend_Date(), 300, 680, 'UTF-8');
|
|
|
|
|
Dernière édition: 23/07/09 à 10:58 Par CaPiT.
|
|
|
Re:Comment Modifier cette fichue page de facturation Il y a 2 Années, 6 Mois
|
Karma: 0
|
|
Merci pour ce tuto fort utile !
J'aurais une question :
Comment peut-on modifier l'ordre les éléments pour l'adresse de facturation? Car le nom de la société figure après le nom de la personne donc c'est pas top !
Merci ^^
|
|
|
|
|
|
|
Re:Comment Modifier cette fichue page de facturation Il y a 2 Années, 6 Mois
|
Karma: 51
|
Dans le pdf, il n'y a que ça :
| Code : |
$billingAddress = explode('|', $order->getBillingAddress()->format('pdf'));
$shippingAddress = explode('|', $order->getShippingAddress()->format('pdf'));
|
Donc tout est gérer dans getBillingAddress() et getShippingAddress(). Faut aller faire un tour autour de ces méthodes.
|
|
|
|
|
|
|
Re:Comment Modifier cette fichue page de facturation Il y a 2 Années, 6 Mois
|
Karma: 3
|
|
Bonjour,
Avez-vous trouvé comment afficher la date de facturation ?
Elle correspondant à la date du paiement et non à la date d'impression de la commande, et elle peut être différente de la date de la commande...
Merci.
|
|
|
|
|
|
|
Re:Comment Modifier cette fichue page de facturation Il y a 2 Années, 6 Mois
|
Karma: 3
|
|
On peut utiliser (pour la date de facturation) : $invoice->getCreatedAtStoreDate()
|
|
|
|
|
|
 | | |
|