2017-09-25 2 views
0

Je voudrais prendre notre numéro de référence interne et l'ajouter au mailalert sous forme de code à barres.Prestashop. Comment ajouter un code à barres de commande au module mailalert?

je peux insérer dans la facture PDF, avec ce code

<tr> 
<td style="width: 17%"></td> 
<td style="width: 83%"> 

{assign var=black value=[0,0,0]}{assign var=white value=[255,255,255]} 
{assign var=stuff value=['position'=>'S', 'border'=>false, 'padding'=>4, 
'fgcolor'=>$black, 'bgcolor'=>$white, 'text'=>false, 'font'=>'helvetica', 
'fontsize'=>8, 'stretchtext'=>4]} 
{assign var=params value=TCPDF::serializeTCPDFtagParameters(array($order- 
>getUniqReference(), 'C39', '', '', 40, 15, 0.4, $stuff, 'N'))} 
<tcpdf method="write1DBarcode" params="{$params}" /> 

</td> 

mais je voudrais insérer dans mails de confirmation de commande. comment puis-je convertir le numéro de commande en code à barres? pour utilisation en mmy php/html ... merci

Répondre

0

Je pense que vous avez plusieurs options ici. Comme je ne connais pas PHP ou Prestashop, je ne peux pas vous donner de code, mais j'aimerais apporter quelques idées.

polices de codes à barres

Il y a des polices codes à barres qui vous permettent d'intégrer les codes à barres sous forme de texte normal. Le problème ici est que les destinataires de vos emails de confirmation n'ont probablement pas ces polices installées, donc si vous pouvez l'utiliser ou non dépend de la situation.

  • Si vous connaissez les destinataires des e-mails de confirmation à l'avance (comme cela est souvent le cas en B2B avec un ensemble restreint de clients), vous pouvez éventuellement leur demander d'installer les polices requises.

  • Si vous traitez avec des destinataires inconnus, vous pouvez essayer d'intégrer les polices au format HTML. Je sais que la plupart des navigateurs traitent correctement les polices intégrées, mais je ne suis pas sûr que ce soit le cas avec les clients de messagerie. Cela dépend probablement du client de messagerie utilisé par le destinataire.

Étant donné que, en utilisant des polices de codes à barres serait idéal d'un point de vue technique (léger, rapide, texte naturel en quelque sorte), mais malheureusement, il y aura toujours des gens qui ne disposent pas que les polices installées ou qui utilisent des clients de messagerie obsolètes.

Barcodes en images

Je suis tout à fait sûr qu'il ya des bibliothèques là-bas qui peut générer des codes à barres sous forme d'images. Presque tous les clients de messagerie traitent les images incorporées correctement et sont capables de les afficher en ligne, c'est donc la voie que je prendrais probablement.

Si vous ne pouvez absolument pas trouver une telle bibliothèque, vous pouvez toujours générer un PDF qui contient uniquement le code à barres (de votre question, nous savons que vous êtes en mesure de le faire), puis convertir ce PDF en image . Personnellement, je sais qu'il existe de nombreuses bibliothèques qui peuvent faire ce dernier. Puis incorporez cette image en tant qu'image en ligne dans un e-mail HTML.

Autres solutions

Je suis convaincu qu'il ya beaucoup plus de solutions à ce problème. Par exemple, vous pourriez probablement sortir les codes à barres au format SVG en utilisant une bibliothèque. La plupart des navigateurs affichent SVG en ligne correctement, mais comme pour les polices incorporées, je ne suis pas sûr des clients de messagerie. Vous aurez probablement des problèmes similaires avec d'autres solutions/formats.

0

J'ai trouvé la solution pour le numéro de commande de conversion à l'image BARCODE avec ce script

https://www.codeproject.com/Articles/146336/Creating-a-Code-39-Barcode-using-HTML-CSS-and-Java

Mais j'ai des problèmes pour l'insérer dans un courrier sur MailAlert.

J'ai essayé d'insérer le script directement le courrier mais probabily est-modifiy devrait mailalert.php

<script type="text/javascript" src="code39.js"></script> 
    <style type="text/css"> 
    #barcode {font-weight: normal; font-style: normal; line-height:normal; sans-serif; font-size: 12pt} 
    </style> 
</head> 
<body> 


Input : {order_name}<br /> 


<div id="externalbox" style="width:5in"> 
<div id="inputdata" >{order_name}</div> 
</div> 


<br /> 


<script type="text/javascript"> 
/* <![CDATA[ */ 
    function get_object(id) { 
    var object = null; 
    if (document.layers) { 
    object = document.layers[id]; 
    } else if (document.all) { 
    object = document.all[id]; 
    } else if (document.getElementById) { 
    object = document.getElementById(id); 
    } 
    return object; 
    } 
get_object("inputdata").innerHTML=DrawCode39Barcode(get_object("inputdata").innerHTML,0); 
/* ]]> */ 
</script> 

Quelqu'un peut-il me aider s'il vous plaît? merci