email-client-dans-facture-magento

Comme vous le savez surement, un e-commerçant (comme tout commerçant d’ailleurs) doit garder une copie papier de chaque pièce comptable que génère son store. Magento, le célèbre framework e-commerce propse bien évidemment, une fois qu’une transaction est terminée, d’éditer une facture et de générer un pdf.

Ce document éléctronique reprend les éléments essentiels d’une facture à savoir l’adresse de facturation du client, l’adresse de livraison, le numéro de la facture, la date de facturation et le détail des achats réalisés.

Cependant il manque l’adresse email du client. Bon vous me direz c’est pas très grave, mais l’email étant la première source de contact avec les clients d’un site e-commerce, il est toujours bon que ce dernier soit renseigné! En tout cas, moi, au boulot, ça à l’air de pas mal arranger les filles du market et de l’admin d’avoir l’e-mail.

nb: Ce tuto est réalisé avec la version 1.7 de Magento. Notez aussi que Magento utilise la fonction de génération de pdf de Zend pour générer les factures en pdf.

Bref, pour rajouter l’email du client il vous faut surcharger ce fichier app/code/core/Mage/Sales/Model/Order/Pdf/Abstratct.php (ne modifiez pas, directement le coeur de Magento sous peine de rencontrer des difficultés lors de vos futures migration/évolution du CMS).

Juste après :

if ($putOrderId) {
            $page->drawText(
                Mage::helper('sales')->__('Order # ') . $order->getRealOrderId(), 35, ($top -= 30), 'UTF-8'
            );
        }
        $page->drawText(
            Mage::helper('sales')->__('Order Date: ') . Mage::helper('core')->formatDate(
                $order->getCreatedAtStoreDate(), 'medium', false
            ),
            35,
            ($top -= 15),
            'UTF-8'
        );

Il nous faut rajouter :

// Ajout des email client
        $page->drawText(
             Mage::helper('sales')->__('Customer Email') . ': ' . $order->getCustomerEmail(), 35, ($top -= 15), 'UTF-8'
        );

Il faut ensuite agrandir la taille du header et modifiant un peu plus haut dans le fichier abstract :

$page->setFillColor(new Zend_Pdf_Color_GrayScale(0.45));
$page->setLineColor(new Zend_Pdf_Color_GrayScale(0.45));
$page->drawRectangle(25, $top, 570, $top - 75);
$page->setFillColor(new Zend_Pdf_Color_GrayScale(1));
$this->setDocHeaderCoordinates(array(25, $top, 570, $top - 75));
$this->_setFontRegular($page, 10);

Le header est désormais d’une hauteur plus importante et l’adresse email de votre client apparait.

Catégories : Web

matthieu

Ingénieur d'affaires dans une société de conseil en technologies. Passionné par le numérique et le business qu'il génère. Également entrepreneur et formateur à mes heures perdues.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Articles similaires

Web

Effet de trainée derrière le curseur en Jquery

Récemment un de mes clients à voulu que je donne un effet de trainée derrière le curseur sur son site web. Pour cet effet de trainée derrière le curseur, on commence par inclure jQuery :

Web

Smart App Banner, promouvoir une app iOS sur le web

Très récemment, Apple a mi à disposition un outil permettant aux webmasters/développeurs d’applications iOS de mettre en avant leur travail. En effet, en ajoutant simplement une balise meta dans le header d’une page web, on peut Lire la suite…

Web

Lister les commentaires Facebook rattachés à une url grâce à Open Graph

Pour utiliser le système de commentaires de Facebook, vous avez le choix. Vous pouvez utiliser le système d’iFrame que propose Facebook cependant si vous vous intéréssez un peu au référencement naturel vous savez sans doutes Lire la suite…