You are not logged in.
Tout est dans le titre...
Si vous souhaitez afficher le nom de l'équipement à côté du code (ou en dessous *), voici les modifications apportées au plugin.
Le principe a été de récupérer toutes les valeurs de l'équipement utilisées lors de la génération du code pour les afficher lors de la génération du PDF.
Prêts ? C'est parti !
Ici Je modifie ce qui va être intégré au QRCode :
* Je nomme explicitement chaque champ (au lieu d'un ID incrémental)
* Je modifie la sortie de la fonction pour transmettre tous les champs (au lieu de l'url du fichier généré ; qui sera enregistrée dans le champ 'filename')
diff -r barcode/inc/qrcode.class.php barcode2/inc/qrcode.class.php
61,66d60
< if ($data['name']) {
< if ($item->fields['name'] != '') {
< $have_content = TRUE;
< }
< $a_content[name] = $item->fields['name'];
< }
71c65
< $a_content[serial_number] = $item->fields['serial'];
---
> $a_content[] = 'Serial Number = '.$item->fields['serial'];
77c71
< $a_content[inventory_number] = $item->fields['otherserial'];
---
> $a_content[] = 'Inventory Number = '.$item->fields['otherserial'];
83c77
< $a_content[id] = $item->fields['id'];
---
> $a_content[] = 'ID = '.$item->fields['id'];
89c83
< $a_content[uuid] = $item->fields['uuid'];
---
> $a_content[] = 'UUID = '.$item->fields['uuid'];
90a85,90
> if ($data['name']) {
> if ($item->fields['name'] != '') {
> $have_content = TRUE;
> }
> $a_content[] = 'Name = '.$item->fields['name'];
> }
92c92
< $a_content[url] = $CFG_GLPI["url_base"].Toolbox::getItemTypeFormURL($itemtype, false)."?id=".$items_id;
---
> $a_content[] = 'URL = '.$CFG_GLPI["url_base"].Toolbox::getItemTypeFormURL($itemtype, false)."?id=".$items_id;
94,95c94,95
< if ($data['qrcodedate']) {
< $a_content[qrdate] = date('Y-m-d');
---
> if ($data['url']) {
> $a_content[] = 'QRcode date = '.date('Y-m-d');
97c97
<
---
>
104,105c104
< $a_content[filename]=GLPI_PLUGIN_DOC_DIR.'/barcode/_tmp_'.$rand.'-'.$number.'.png';
< return $a_content;
---
> return GLPI_PLUGIN_DOC_DIR.'/barcode/_tmp_'.$rand.'-'.$number.'.png';
On récupère ici tous les paramètres au lieu de l'url du fichier, il faut donc s'adapter !
diff -r barcode/hook.php barcode_orig/hook.php
123,126c123,125
< $ret_qr = array();
< $ret_qr = $pbQRcode->generateQRcode($itemtype, $key, $rand, $number, $data);
< if ($ret_qr[filename]) {
< $codes[] = $ret_qr;
---
> $filename = $pbQRcode->generateQRcode($itemtype, $key, $rand, $number, $data);
> if ($filename) {
> $codes[] = $filename;
Idem on s'adapte... et on peut maintenant ajouter notre texte à l'emplacement voulu.
Noter le "-15" pour la position X qui décale le texte vers la gauche (il faut soit désactiver ce décalage, soit ne pas afficher la bordure du QRcode)
En commentaires :
* "infotext" lorsque le développeur voudra ajouter une option pour afficher ou non le texte d'information
* la structure des appels à l'ajout de texte pour ezpdf
diff -r barcode/inc/barcode.class.php barcode2/inc/barcode.class.php
253,257c253
< $numcode=0;
< foreach ($p_params['codes'] as $ppcode) {
< $codes[$numcode] = $ppcode;
< $numcode++;
< }
---
> $codes = $p_params['codes'];
340c337
< $imgFile = $code[filename];
---
> $imgFile = $code;
387,395d382
<
< // if ($p_params['infotext']) {
< // $pdf->addText( $x, $y, $size, $text, [ $angle = 0], [ $wordSpaceAdjust = 0 );
< // $pdf->addTextWrap( $x, $y, $width, $size, $text, [ $angle = 0], [ $wordSpaceAdjust = 0 );
< $txtSize = 8;
< $pos_x = $x + $width - 15;
< $pos_y = $y + $height / 2;
< $pdf->addTextWrap( $pos_x, $pos_y, $width, $txtSize, $code[name], center);
< // }
TODO : ajouter une condition ($type == 'QRcode') pour l'affichage du texte (risque sinon d'embouser les autres codes 1D/2D : pas testé)
Mea Culpa : du quick and dirty réalisé par un non developpeur... merci pour votre indulgence !
Merci : aux développeurs originaux du plugin
... et Joyeuses fêtes !
Offline
Salut Vin_C
Je cherche également à afficher différentes informations à coté du qrcode.
Pourrais-tu m'envoyer tes fichiers modifiés par mp ?
Merci par avance.
Freez
Offline
De façon plus générale, le fait de pouvoir faire un template pour les code barre serait une bonne idée.
Chez nous, on a le nom de la société, le nom du contrat de location , la date de fin du contrat de location, le code barre.
Pouvoir se faire ça serait juste le top !
GLPI : 9.1.6 - OCS : 2.1.2
Plateforme : Windows Server 2008R2 Standard Edition Service Pack 1
Apache/2.2.31 (Win32) mod_ssl/2.2.31 OpenSSL/1.0.1p PHP/5.4.45 mod_perl/2.0.8 Perl/v5.16.3 ()
MySQL: 5.7.10-log
Offline
J'ai pu me remettre dessus et maintenant j'arrive à avoir un bonne partie des informations dont j'ai besoin.
- logo
- qrcode
- nom du poste
- n° d'inventaire
le tout pour une dimension d’étiquette de 38 mm / 22 mm
J'ai réaliser les modifs à partir de celles de vin_c, mais aux besoins je peux partager.
Last edited by freez (2014-03-03 11:15:51)
Offline
Bonjour ,
Je chercher depuis plusieurs jours a ajouter des information sous le QRcode mais je n'arrive a rien es ce que vous pourriez partager ou m'envoyer en mp les fichier modifier
merci d'avance.
Offline
Bonjour,
je cherche aussi a faire des modifications dans mon QR code . j'ai essayé de comprendre et de refaire les modif qu'a fait le createur du sujet mais je n'y arrive pas . Je ne comprends pas quel changement apporter et surtout ou les integrer (malgré le nom du fichier php et le numero de ligne). Qq un peut il m'aider...??
Merci d'avance
Offline
Bonjour,
Freez je veux bien ton code car j'ai un problème lors de l'impression j'ai une marge en haut et à gauche ce qui fait que j'ai pas le qrcode complet pour imprimer sur une étiquette 36*36.
Merci
Marie-Laure
Offline
Bonjour Vin_c,
j ai essayé de modifer les fichiers mais sans succes, pourrais tu m envoyer les fichiers modifiés, merci beaucoup pour ton aide.
Offline
J'ai pu me remettre dessus et maintenant j'arrive à avoir un bonne partie des informations dont j'ai besoin.
- logo
- qrcode
- nom du poste
- n° d'inventaire
le tout pour une dimension d’étiquette de 38 mm / 22 mmJ'ai réaliser les modifs à partir de celles de vin_c, mais aux besoins je peux partager.
Bonjour , serait-il possible de me les envoyers, j en ai urgement besoin mais je n arrive pas a changer moi même.
merci beaucoup
Philippe
Offline
Bonjour,
j'ai lu attentivement plusieurs fois votre post mais rien n'y fait, je ne comprends pas les modifications à faire.
Comme cela semble général, pouvez-vous mettre le code complet du fichier modifié SVP ?
Merci,
Adrien
Offline
Bonjour,
est ce possible de partager la modification?
J'aimerais imprimer des liste d'étiquette mais avec le nom de machine ou peripherique au dessous du QR pour me retrouver apres quand je vais les coller
merci
Offline
Bonjour,
je ne comprends pas comment je dois faire pour que ça marche ?
Où dois je mettre ces bouts de codes ?
Peut on avoir le code entier ? Et les lieux de copier coller.
Merci d'avance
Offline