plune Posted July 1, 2013 Share Posted July 1, 2013 Bonjour, Je viens vers la communauté car j'ai un souci. J'aimerais ajouter un deuxième PDF en pièce jointe (en plus de la facture) à la validation d'une commande. J'ai vu que la fonction Mail::Send() de prestashop le permet. Voilà le commentaire de la fonction : /** * Send Email * * @param array $file_attachment Array with three parameters (content, mime and name). You can use an array of array to attach multiple files */ public static function Send($id_lang, $template, $subject, $template_vars, $to, $to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null, $template_path = _PS_MAIL_DIR_, $die = false, $id_shop = null) { .... Et voici le code que j'utilise. Il génère bien la facture mais pas le bon supplémentaire. // Join PDF invoice if ((int)Configuration::get('PS_INVOICE') && $order_status->invoice && $order->invoice_number) { if($bonCadeau == true) { $bon_attachement['content'] = $wl_file; $bon_attachement['name'] = $wl_filename . 'pdf'; $bon_attachement['mime'] = 'application/pdf'; } $pdf = new PDF($order->getInvoicesCollection(), PDF::TEMPLATE_INVOICE, $this->context->smarty); $file_attachement['content'] = $pdf->render(false); $file_attachement['name'] = Configuration::get('PS_INVOICE_PREFIX', (int)$order->id_lang).sprintf('%06d', $order->invoice_number).'.pdf'; $file_attachement['mime'] = 'application/pdf'; } else $file_attachement = null; if(isset($bon_attachement) && !empty($bon_attachement)) $wl_attachement = array($file_attachement, $bon_attachement); else $wl_attachement = $file_attachement; Evidemment $wl_attchment est envoyé à la fonction Mail::Send(). Merci d'avance ! Plune Link to comment Share on other sites More sharing options...
kevin78 Posted August 6, 2013 Share Posted August 6, 2013 Coucou as tu trouvé une solution stp Link to comment Share on other sites More sharing options...
plune Posted August 6, 2013 Author Share Posted August 6, 2013 Oui, j'ai pu enfin trouver une réponse. Voilà comment faire : // Join PDF invoice if ((int)Configuration::get('PS_INVOICE') && $order_status->invoice && $order->invoice_number) { $pdf = new PDF($order->getInvoicesCollection(), PDF::TEMPLATE_INVOICE, $this->context->smarty); $file_attachement['content'] = $pdf->render(false); $file_attachement['name'] = Configuration::get('PS_INVOICE_PREFIX', (int)$order->id_lang).sprintf('%06d', $order->invoice_number).'.pdf'; $file_attachement['mime'] = 'application/pdf'; } else $file_attachement = null; // Le bon PDF que je génère à rajouter en pièce jointe si nécessaire if($bonCadeau == true) { $bon_attachement['content'] = $wl_file; $bon_attachement['name'] = 'bon-' . $order->reference . '.pdf'; $bon_attachement['mime'] = 'application/pdf'; } if(isset($bon_attachement) && !empty($bon_attachement)) $wl_attachement = array($file_attachement, $bon_attachement); // On fait un tableau de pièces jointes else $wl_attachement = $file_attachement; if (Validate::isEmail($this->context->customer->email)) Mail::Send( (int)$order->id_lang, 'order_conf', Mail::l('Order confirmation', (int)$order->id_lang), $data, $this->context->customer->email, $this->context->customer->firstname.' '.$this->context->customer->lastname, null, null, $wl_attachement, // On change le parametre par défaut par notre tableau null, _PS_MAIL_DIR_, false, (int)$order->id_shop ); En espérant avoir pu t'aider. Moi ce qui ne marchait pas, c'était juste que je génèrais mal $wl_attachment 1 Link to comment Share on other sites More sharing options...
prestare Posted March 17, 2014 Share Posted March 17, 2014 En espérant que ce topic n'est pas mort, je souhaiterai avoir plus d'informations sur la réalisation de cette fonction ? Elle concerne bien le fichier "Mail.php" ? Ou placer le pdf que l'on souhaite envoyer ? Merci d'avance. Cordialement, Link to comment Share on other sites More sharing options...
tuk66 Posted March 17, 2014 Share Posted March 17, 2014 Vous pouvez également créer la facture PDF seulement. Essayez d'ajouter une deuxième page de votre contenu. You can also create invoice PDF only. Try to add a second page for your other content. Link to comment Share on other sites More sharing options...
prestare Posted March 17, 2014 Share Posted March 17, 2014 Oui merci de l'indication je garde cette idée en roue de secours disons. Je souhaiterais plutôt envoyer un PDF unique en pièce jointe, j'ai en effet constaté que certains fichiers doivent probablement nous permettre de le faire, il suffit juste d'un peu plus de compétences que les miennes. Merci et si qqn à d'autres indications n'hésitez pas Link to comment Share on other sites More sharing options...
nicocolt Posted May 26, 2014 Share Posted May 26, 2014 Oui merci de l'indication je garde cette idée en roue de secours disons. Je souhaiterais plutôt envoyer un PDF unique en pièce jointe, j'ai en effet constaté que certains fichiers doivent probablement nous permettre de le faire, il suffit juste d'un peu plus de compétences que les miennes. Merci et si qqn à d'autres indications n'hésitez pas Hello, Tu as trouvé comment faire ? Amicalement, Nico 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