[Skip to main content](#vessel-content)

#   Pièce jointe personnalisée

##

- **[Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")**
- [![Baptiste's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/12154-baptiste "View Baptiste's Profile") Topic Author
- [ Offline](/forum/user/12154-baptiste)

Less More

- Posts: 10
- Thank you received: 1
-
-

13 years 9 months ago [\#88090](#88090) by [Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")  *[Pièce jointe personnalisée](/forum/5-support-en-francais-french-support-/77940-piece-jointe-personnalisee#88090 "Bonjour,  Lors de la création d'une commande, je crée un fichier .csv sur le serveur -&gt; modification du fichier mail&#92;order&#95;creation&#95;notification.html.php Ok  Quand la commande est passée, 2 mails partent, celui du client et celui de l'admin. Mon problème est de joindre le fichier à l'admin en pièce jointe du mail.  J'ai rajouté un bout de code dans le order&#95;admin&#95;notification.html.php; mais (je suppose) comme la clé aléatoire de limite appelée généralement &quot;boundary&quot; est différente de celle de l'entête du mail, ça ne fonctionne pas. Et je n'arrive pas à trouver la fonction pour modifier l'entête des mails..  J'ai donc 2 choix (apparemment) : - récupérer la clef de l'entête depuis le fichier order&#95;admin&#95;notif. - définir à un endroit la clef de manière globale pour être utilisée dans l'entête et dans le order&#95;admin&#95;notif  Dans tous les cas mon problème est de cerner où l'entête est générée.  La fonction mail ne passe pas par la fonction MailSend de phpmailer.php dans laquelle on trouve la fonction php mail. Donc je ne comprends pas comment les mails partent !!  Version Business.  Baptiste G.")* was created by *[Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")*

Bonjour,

Lors de la création d'une commande, je crée un fichier .csv sur le serveur
-&gt; modification du fichier mail\order_creation_notification.html.php
Ok

Quand la commande est passée, 2 mails partent, celui du client et celui de l'admin.
Mon problème est de joindre le fichier à l'admin en pièce jointe du mail.

J'ai rajouté un bout de code dans le order_admin_notification.html.php; mais (je suppose) comme la clé aléatoire de limite appelée généralement "boundary" est différente de celle de l'entête du mail, ça ne fonctionne pas. Et je n'arrive pas à trouver la fonction pour modifier l'entête des mails..

J'ai donc 2 choix (apparemment) :
- récupérer la clef de l'entête depuis le fichier order_admin_notif.
- définir à un endroit la clef de manière globale pour être utilisée dans l'entête et dans le order_admin_notif

Dans tous les cas mon problème est de cerner où l'entête est générée.

La fonction mail ne passe pas par la fonction MailSend de phpmailer.php dans laquelle on trouve la fonction php mail.
Donc je ne comprends pas comment les mails partent !!

Version Business.

Baptiste G.

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vNzc5NDAtcGllY2Utam9pbnRlLXBlcnNvbm5hbGlzZWU/dG1wbD1tYXJrZG93bg==) or [Create an account](/register) to join the conversation.

- **[nicolas](/forum/user/63-nicolas "View nicolas's Profile")**
- [![nicolas's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar63.png?1793428657)](/forum/user/63-nicolas "View nicolas's Profile")
- [ Away](/forum/user/63-nicolas)

Less More

- Posts: 86323
- Thank you received: 14283
-
-

13 years 9 months ago -  13 years 9 months ago [\#88287](#88287) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Pièce jointe personnalisée](/forum/5-support-en-francais-french-support-/77940-piece-jointe-personnalisee#88287 "Bonjour,  Lors de la création d'une commande, je crée un fichier .csv sur le serveur -&gt; modification du fichier mail&#92;order&#95;creation&#95;notification.html.php Ok  Quand la commande est passée, 2 mails partent, celui du client et celui de l'admin. Mon problème est de joindre le fichier à l'admin en pièce jointe du mail.  J'ai rajouté un bout de code dans le order&#95;admin&#95;notification.html.php; mais (je suppose) comme la clé aléatoire de limite appelée généralement &quot;boundary&quot; est différente de celle de l'entête du mail, ça ne fonctionne pas. Et je n'arrive pas à trouver la fonction pour modifier l'entête des mails..  J'ai donc 2 choix (apparemment) : - récupérer la clef de l'entête depuis le fichier order&#95;admin&#95;notif. - définir à un endroit la clef de manière globale pour être utilisée dans l'entête et dans le order&#95;admin&#95;notif  Dans tous les cas mon problème est de cerner où l'entête est générée.  La fonction mail ne passe pas par la fonction MailSend de phpmailer.php dans laquelle on trouve la fonction php mail. Donc je ne comprends pas comment les mails partent !!  Version Business.  Baptiste G.")*

Bonjour,

Pour ajouter un fichier en pièce jointe à un email dans HikaShop, il suffit de faire un plugin HikaShop implémentant le trigger onBeforeMailSend(&amp;$data,&amp;$mailer).

La fonction serait du genre: Code:

function onBeforeMailSend(&amp;$data,&amp;$mailer){ if($data-&gt;mail_name!='order_admin_notification') return; $mailer-&gt;AddAttachment('/my/file/absolute/path/filename.csv','filename.csv'); }

Dans $data, vous avez toutes les infos de la commande si besoin.

C'est le système que nous utilisons pour le plugin invoice PDF que nous proposons ici:
[ www.hikashop.com/en/component/hikashop/product/cid-18.html](http://www.hikashop.com/en/component/hikashop/product/cid-18.html)
Il crée un PDF et l'attache à l'email de confirmation de commande.

Last edit: 13 years 9 months ago by [nicolas](/forum/user/63-nicolas "View nicolas's Profile").

The following user(s) said Thank You: [Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vNzc5NDAtcGllY2Utam9pbnRlLXBlcnNvbm5hbGlzZWU/dG1wbD1tYXJrZG93bg==) or [Create an account](/register) to join the conversation.

- **[Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")**
- [![Baptiste's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/12154-baptiste "View Baptiste's Profile") Topic Author
- [ Offline](/forum/user/12154-baptiste)

Less More

- Posts: 10
- Thank you received: 1
-
-

13 years 9 months ago [\#88401](#88401) by [Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")  Replied by *[Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")* on topic *[Pièce jointe personnalisée](/forum/5-support-en-francais-french-support-/77940-piece-jointe-personnalisee#88401 "Bonjour,  Lors de la création d'une commande, je crée un fichier .csv sur le serveur -&gt; modification du fichier mail&#92;order&#95;creation&#95;notification.html.php Ok  Quand la commande est passée, 2 mails partent, celui du client et celui de l'admin. Mon problème est de joindre le fichier à l'admin en pièce jointe du mail.  J'ai rajouté un bout de code dans le order&#95;admin&#95;notification.html.php; mais (je suppose) comme la clé aléatoire de limite appelée généralement &quot;boundary&quot; est différente de celle de l'entête du mail, ça ne fonctionne pas. Et je n'arrive pas à trouver la fonction pour modifier l'entête des mails..  J'ai donc 2 choix (apparemment) : - récupérer la clef de l'entête depuis le fichier order&#95;admin&#95;notif. - définir à un endroit la clef de manière globale pour être utilisée dans l'entête et dans le order&#95;admin&#95;notif  Dans tous les cas mon problème est de cerner où l'entête est générée.  La fonction mail ne passe pas par la fonction MailSend de phpmailer.php dans laquelle on trouve la fonction php mail. Donc je ne comprends pas comment les mails partent !!  Version Business.  Baptiste G.")*

Très bien ! Je testerai plus tard.
Merci !

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vNzc5NDAtcGllY2Utam9pbnRlLXBlcnNvbm5hbGlzZWU/dG1wbD1tYXJrZG93bg==) or [Create an account](/register) to join the conversation.

- **[Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")**
- [![Baptiste's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/12154-baptiste "View Baptiste's Profile") Topic Author
- [ Offline](/forum/user/12154-baptiste)

Less More

- Posts: 10
- Thank you received: 1
-
-

13 years 8 months ago [\#88943](#88943) by [Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")  Replied by *[Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")* on topic *[Pièce jointe personnalisée](/forum/5-support-en-francais-french-support-/77940-piece-jointe-personnalisee#88943 "Bonjour,  Lors de la création d'une commande, je crée un fichier .csv sur le serveur -&gt; modification du fichier mail&#92;order&#95;creation&#95;notification.html.php Ok  Quand la commande est passée, 2 mails partent, celui du client et celui de l'admin. Mon problème est de joindre le fichier à l'admin en pièce jointe du mail.  J'ai rajouté un bout de code dans le order&#95;admin&#95;notification.html.php; mais (je suppose) comme la clé aléatoire de limite appelée généralement &quot;boundary&quot; est différente de celle de l'entête du mail, ça ne fonctionne pas. Et je n'arrive pas à trouver la fonction pour modifier l'entête des mails..  J'ai donc 2 choix (apparemment) : - récupérer la clef de l'entête depuis le fichier order&#95;admin&#95;notif. - définir à un endroit la clef de manière globale pour être utilisée dans l'entête et dans le order&#95;admin&#95;notif  Dans tous les cas mon problème est de cerner où l'entête est générée.  La fonction mail ne passe pas par la fonction MailSend de phpmailer.php dans laquelle on trouve la fonction php mail. Donc je ne comprends pas comment les mails partent !!  Version Business.  Baptiste G.")*

Le programme ne passe pas dans le trigger, donc j'ai du faire une erreur quelque part...
Je vous copier mes 2 fichiers que j'ai importé :

plugin_mail.php :

&lt;? defined('_JEXEC') or die('Restricted access');
jimport('joomla.plugin.plugin');

class plgContentNameofplugin extends JPlugin {

function plgMailBaptiste(&amp;$subject, $params) {

/*pour tester si il passe ici;*/
$fp = fopen("./error_log_bat1.txt", "a+");
$donneesAjout = "test1";
fputs($fp, $donneesAjout);

parent::__construct($subject, $params);
}

function onBeforeMailSend(&amp;$data, &amp;$mailer) {
var_dump($data);
/*pour tester si il passe ici*/
$fp = fopen("./error_log_bat2.txt", "a+");
$donneesAjout = "test2";
fputs($fp, $donneesAjout);

if ($data-&gt;mail_name != 'order_admin_notification')
return;
$mailer-&gt;AddAttachment('./test.csv', 'test.csv');

return true;
}

}
?&gt;

plugin_mail.xml :
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;extension version="2.5" type="plugin" group="plugin_mail"&gt;
&lt;name&gt;plg_plugin_mail&lt;/name&gt;
&lt;version&gt;2.5.0&lt;/version&gt;
&lt;creationDate&gt;January 2013&lt;/creationDate&gt;
&lt;author&gt;Joomla! Baptiste&lt;/author&gt;
&lt;authorEmail&gt;anyone@none.com&lt;/authorEmail&gt;
&lt;authorUrl&gt;[ www.anywhere.com](http://www.anywhere.com)&lt;/authorUrl&gt;
&lt;copyright&gt;Copyright (C) - All rights reserved.&lt;/copyright&gt;
&lt;license&gt;GNU&lt;/license&gt;
&lt;description&gt;osef&lt;/description&gt;
&lt;files&gt;
&lt;filename
plugin="plugin_mail"&gt;plugin_mail.php
&lt;/filename&gt;
&lt;/files&gt;
&lt;config&gt;
&lt;fields name="params"&gt;
&lt;fieldset name="basic"&gt;
&lt;field
name="public_key"
type="text"
default=""
label="PLG_RECAPTCHA_PUBLIC_KEY_LABEL"
description="PLG_RECAPTCHA_PUBLIC_KEY_DESC"
required="true"
filter="string"
size="50" /&gt;
&lt;/fieldset&gt;
&lt;/fields&gt;
&lt;/config&gt;
&lt;/extension&gt;

Donc le programme ne me crée rien à l'envoie du mail.
(j'ai évidemment essayé mon bout de code test avant)
J'en déduis qu'il ne passe pas dans la fonction trigger.
Le fichier xml, est un copié d'un autre plugin, remplit à la va vite.

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vNzc5NDAtcGllY2Utam9pbnRlLXBlcnNvbm5hbGlzZWU/dG1wbD1tYXJrZG93bg==) or [Create an account](/register) to join the conversation.

- **[Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")**
- [![Baptiste's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/12154-baptiste "View Baptiste's Profile") Topic Author
- [ Offline](/forum/user/12154-baptiste)

Less More

- Posts: 10
- Thank you received: 1
-
-

13 years 8 months ago -  13 years 8 months ago [\#88990](#88990) by [Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")  Replied by *[Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile")* on topic *[Pièce jointe personnalisée](/forum/5-support-en-francais-french-support-/77940-piece-jointe-personnalisee#88990 "Bonjour,  Lors de la création d'une commande, je crée un fichier .csv sur le serveur -&gt; modification du fichier mail&#92;order&#95;creation&#95;notification.html.php Ok  Quand la commande est passée, 2 mails partent, celui du client et celui de l'admin. Mon problème est de joindre le fichier à l'admin en pièce jointe du mail.  J'ai rajouté un bout de code dans le order&#95;admin&#95;notification.html.php; mais (je suppose) comme la clé aléatoire de limite appelée généralement &quot;boundary&quot; est différente de celle de l'entête du mail, ça ne fonctionne pas. Et je n'arrive pas à trouver la fonction pour modifier l'entête des mails..  J'ai donc 2 choix (apparemment) : - récupérer la clef de l'entête depuis le fichier order&#95;admin&#95;notif. - définir à un endroit la clef de manière globale pour être utilisée dans l'entête et dans le order&#95;admin&#95;notif  Dans tous les cas mon problème est de cerner où l'entête est générée.  La fonction mail ne passe pas par la fonction MailSend de phpmailer.php dans laquelle on trouve la fonction php mail. Donc je ne comprends pas comment les mails partent !!  Version Business.  Baptiste G.")*

Victoire.

pluginmail.xml Code:

&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;extension version="2.5" type="plugin" group="hikashop"&gt; &lt;name&gt;PluginMail&lt;/name&gt; &lt;description&gt;plugin perso&lt;/description&gt; &lt;files&gt; &lt;filename plugin="pluginmail"&gt;pluginmail.php &lt;/filename&gt; &lt;/files&gt; &lt;/extension&gt;

pluginmail.php Code:

&lt;?php defined('_JEXEC') or die('Restricted access'); jimport('joomla.plugin.plugin'); class plgHikashopPluginMail extends JPlugin { public function onBeforeMailSend(&amp;$data, &amp;$mailer) { var_dump($data); /* on cree le fichier des devis */ $fp = fopen("./error_log_bat2.txt", "a+"); $donneesAjout = "test2"; fputs($fp, $donneesAjout); if ($data-&gt;mail_name != 'order_admin_notification') return; $mailer-&gt;AddAttachment('./test.csv', 'test.csv'); return true; } } ?&gt;

Merci ^^

Last edit: 13 years 8 months ago by [Baptiste](/forum/user/12154-baptiste "View Baptiste's Profile").

The following user(s) said Thank You: [Xavier](/forum/user/4105-xavier "View Xavier's Profile")

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vNzc5NDAtcGllY2Utam9pbnRlLXBlcnNvbm5hbGlzZWU/dG1wbD1tYXJrZG93bg==) or [Create an account](/register) to join the conversation.

Board Categories HikaShop Install &amp; Update Product &amp; Category Display Content Creation Sales and Orders Orders management Reports &amp; Statistics Customers Checkout Payment Methods Shipping Methods Import &amp; Export (CSV, XLS…) Specific Features Affilation Taxes Wishlist Vote Carousel &amp; Slider Mass Actions Filters &amp; Search Discount &amp; Coupon Feature Request Integrations Showcase General Talk about HikaShop Development HikaShop 3.0 Beta Translation Commercial Jobs HikaShop Components HikaMarket Market: Feature requests Market: How to? Market: Bug Report HikaSerial General talk about HikaSerial Serial: Bug Report Serial: How to? Support en Français de HikaSerial (French Support) HikaSubscription HikaAuction Auction: Feature requests Auction: How to? Auction: Bug report Hikashop around the world Support en Français (French Support) Russian FAQ. Курс выживания с Hikashop. Частые вопросы и о Расширения Hikashop Наши сайты на Hikashop 日本語版サポート(Japanese Support) Thai German Archives Bug Report How to?

[](/forum/topics/feed/mode-topics?format=feed&type=rss)

Time to create page: 0.076 seconds

[Powered by](/forum/credits) [Kunena Forum](https://www.kunena.org)
