l'indien Posted June 17, 2017 Share Posted June 17, 2017 Bonjour à tous ! sur ma nouvelle version 1.6.1.1 je viens d'ajouter le N° du transporteur dans la liste des commandes. en modifiant dans ../controllers/admin/AdminOrdersController.php 'id_carrier' => array( 'title' => $this->l('ID'), 'align' => 'center', 'class' => 'fixed-width-xs' ),cela fonctionne ! c'est à dire que le N° des transporteur s'affichent mais si j'ajoute le même code que en V1.5 rien ne s'affiche... en version 1.5 ceci fonctionnait mais plus maintenant : 'id_carrier' => array( 'title' => $this->l('Type envoi'), 'width' => 50, 'align' => 'center', 'type' => 'bool', 'tmpTableFilter' => true, 'icon' => array( 0 => 'blank.gif', 3 => 'intailleurs.gif', 6 => 'retraitmag.gif', 7 => 'col_dom.gif', 8 => 'col_tom.gif', 14 => 'col_inter.gif', 16 => 'lmm.jpg', 34 => 'socolissimo.png', 25 => 'colfrance.gif', 36 => 'lmm_inter.gif', 35 => 'socolissimo_pointR.png' ), est ce 'icon' => array( qui bloque ??? merci de l'info ! Link to comment Share on other sites More sharing options...
l'indien Posted June 18, 2017 Author Share Posted June 18, 2017 up ! étant limité en php, ce serais sympa de la part d'un développeur de me donner la solution ! Link to comment Share on other sites More sharing options...
l'indien Posted June 20, 2017 Author Share Posted June 20, 2017 tous les développeurs sont en vacance !!? je demande juste une info ????? Link to comment Share on other sites More sharing options...
BeComWeb Posted June 21, 2017 Share Posted June 21, 2017 Bonjour, A priori cette page et cette autre page devraient vous aider. Link to comment Share on other sites More sharing options...
l'indien Posted June 23, 2017 Author Share Posted June 23, 2017 Bonjour, en fait je sais ajouter une nouvelle colonne et le transporteur, c'est remplacer le nom (ou le N° du transporteur) par une icone ou image .jpg comme je le faisait en v1.5 ! bien cordialement Link to comment Share on other sites More sharing options...
BeComWeb Posted June 25, 2017 Share Posted June 25, 2017 Ce qui enlèverait en complexité ce serait d'utiliser l'icone du transporteur Link to comment Share on other sites More sharing options...
l'indien Posted June 27, 2017 Author Share Posted June 27, 2017 Bonjour BeComWeb ! j'ai essayé en ajoutant en dessus de $this->fields_list : $this->fieldImageSettings = array( 'name' => 'logo', 'dir' => 's' ); $this->fields_list = array( et ce qui suit dans la liste : 'image' => array( 'title' => $this->l('Logo'), 'align' => 'center', 'image' => 's', 'class' => 'fixed-width-xs', 'orderby' => false, 'search' => false ), mais la colonne 'logo' reste vide !!! Link to comment Share on other sites More sharing options...
BeComWeb Posted June 28, 2017 Share Posted June 28, 2017 A ta place je chercherais du côté des fonctions de callback comme utilisé pour Nouveau client : oui/non (printNewCustomer) ou l'affichage des boutons de facture/BL (printPDFIcons). Tu crées ta propre fonction de récupération du logo que tu mets ensuite dans le paramètre callback Link to comment Share on other sites More sharing options...
l'indien Posted June 28, 2017 Author Share Posted June 28, 2017 je vais essayer ! Link to comment Share on other sites More sharing options...
l'indien Posted September 22, 2017 Author Share Posted September 22, 2017 (edited) Bonjour Becomweb, voici la déclaration de ma colonne : 'id_carrier' => array( 'title' => $this->l('Type envoi'), 'width' => 60, 'type' => 'bool', 'prefix' => '<b style="color:#ffffff;background-color:#f5af1a;">', 'suffix' => '</b>', 'orderby' => false, 'callback' => 'printImageCarrier' ), et voici ma fonction : public function printImageCarrier($id_order, $tr) { $imagecarrier = array (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,'LETTRE SUIVI',35,36,37,38,39,40,41,42,43,'LET. SV INTER','COLISS. INT',46,47,'COLISS DOM','COLISS TOM',50,51,'** MAZET **',53,'Socolissimo','Colissimo FR','Socolissimo','RETRAIT MAG',58,59); $tr['id_carrier'] = $imagecarrier[$tr['id_carrier']]; return ($tr['id_carrier']); } et voici ce que cela donne en pièce jointe je ne peux transformer que le N° du transporteur en texte mais pas en url d'image !!! je n'y arrive pas ! au secours !! un developpeur charitable !! Edited September 22, 2017 by l'indien (see edit history) Link to comment Share on other sites More sharing options...
l'indien Posted September 27, 2017 Author Share Posted September 27, 2017 UN PETIT UP ! allez un développeur généreux ! Link to comment Share on other sites More sharing options...
BeComWeb Posted September 28, 2017 Share Posted September 28, 2017 Perso je t'aiderais bien mais je déborde de boulot. Peut-être la semaine prochaine, ça devrait être plus calme. Link to comment Share on other sites More sharing options...
l'indien Posted September 28, 2017 Author Share Posted September 28, 2017 au moins une piste et j'essayerais d'avancer ... Link to comment Share on other sites More sharing options...
l'indien Posted September 29, 2017 Author Share Posted September 29, 2017 (edited) EUREKA ! étant limité en php j'ai un peu galéré mais c'est bon ! donc je déclare mes colonnes comme ceci. pour le transporteur : 'id_carrier' => array( 'title' => $this->l('Type envoi'), 'type' => 'select', 'orderby' => false, 'callback' => 'printImageCarrier' ), pour le paiement : 'module' => array( 'title' => $this->l('Payment: '), 'type' => 'select', 'orderby' => false, 'callback' => 'printImagePayment' ), et enfin les deux fonctions appelées : public function printImagePayment($id_order, $tr) { if ($tr['module'] == 'cdiscount') { $tr['module'] = '<img src="../img/admin/cdiscount.gif" style="width:62 px"/>'; } if ($tr['module'] == 'systempay') { $tr['module'] = '<img src="../img/admin/systempay.gif" style="width:62 px"/>'; } if ($tr['module'] == 'paypal') { $tr['module'] = '<img src="../img/admin/paypal.gif" style="width:62 px"/>'; } if ($tr['module'] == 'cheque') { $tr['module'] = '<img src="../img/admin/cheque.gif" style="width:62 px"/>'; } if ($tr['module'] == 'amazon') { $tr['module'] = '<img src="../img/admin/amazon.gif" style="width:62 px"/>'; } if ($tr['module'] == 'bankwire') { $tr['module'] = '<img src="../img/admin/virement.gif" style="width:62 px"/>'; } if ($tr['module'] == 'priceminister') { $tr['module'] = '<img src="../img/admin/priceminister.gif" style="width:62 px"/>'; } return ($tr['module']); } public function printImageCarrier($id_order, $tr) { $imagecarrier = array (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33, '<img src="../img/admin/lmm.jpg" style="width:80%"/>', 35,36,37,38,39,40,41,42,43, '<img src="../img/admin/lmm_inter.gif" style="width:80%"/>', '<img src="../img/admin/col_inter.gif" style="width:80%"/>', 46,47, '<img src="../img/admin/col_dom.gif" style="width:80%"/>', '<img src="../img/admin/col_tom.gif" style="width:80%"/>', 50,51, '<img src="../img/admin/intailleurs.gif" style="width:80%"/>', 53, '<img src="../img/admin/socolissimo.png" style="width:80%"/>', '<img src="../img/admin/colfrance.gif" style="width:80%"/>', '<img src="../img/admin/socolissimo.png" style="width:80%"/>', '<img src="../img/admin/retraitmag.gif" style="width:80%"/>', ); $tr['id_carrier'] = $imagecarrier[$tr['id_carrier']]; return ($tr['id_carrier']); } voila ! Un grand merci à BeComWeb qui m'a mis sur la piste des fonctions de callback !!! Edited September 29, 2017 by l'indien (see edit history) Link to comment Share on other sites More sharing options...
jd440 Posted December 19, 2017 Share Posted December 19, 2017 @l'indien Je sais pas si tu as réussit mais tu pourrais essayer public function printImageCarrier($id_order, $tr) { $imagecarrier = array ( 34 => '<img src="../img/admin/LETTRE SUIVI.gif" style="width:80%"/>', 44 => '<img src="../img/admin/LET. SV INTER.gif" style="width:80%"/>', 45 => '<img src="../img/admin/COLISS. INT.gif" style="width:80%"/>', 46 => '<img src="../img/admin/COLISS DOM.gif" style="width:80%"/>', 47 => '<img src="../img/admin/COLISS TOM.gif" style="width:80%"/>', 52 => '<img src="../img/admin/** MAZET **.gif" style="width:80%"/>', 54 => '<img src="../img/admin/Socolissimo.gif" style="width:80%"/>', 55 => '<img src="../img/admin/Colissimo FR.gif" style="width:80%"/>', 56 => '<img src="../img/admin/Socolissimo.gif" style="width:80%"/>', 57 => '<img src="../img/admin/RETRAIT MAG.gif" style="width:80%"/>'; $tr['id_carrier'] = $imagecarrier[$tr['id_carrier']]; return ($tr['id_carrier']); } Link to comment Share on other sites More sharing options...
l'indien Posted December 19, 2017 Author Share Posted December 19, 2017 Bonjour JD440 et merci car cela est plus propre ! je l'ai appliqué et cela fonctionne bien. Link to comment Share on other sites More sharing options...
julianbaros Posted January 31, 2018 Share Posted January 31, 2018 Bonjour, Pour ma part, j'ai ajouté une colonne numéro de suivi de la commande. Lorsque j'ai un numéro de suivi il m'affiche le numéro impeccable et lorsque j'en ai pas il ne m'affiche rien. Tout ce qu'il y a de plus normal. Je cherche maintenant à récupérer le lien du numéro de suivi de la commande afin de remplacer mon texte dans ma colonne par le lien directement. Je pense qu'il faut que je créé une nouvelle fonction mais je ne sais pas quoi mettre dedans. Auriez-vous une idée ? D'avance merci Link to comment Share on other sites More sharing options...
Tristan Matteoli Posted April 23, 2019 Share Posted April 23, 2019 Salut Le sujet date un peu mais bon je demande quand même on sait jamais ! Je veux également afficher l’icône des transporteurs à ma liste des commandes, seulement en utilisant le même code que vous (et en ayant bien sur changer le chemin d'accès aux photos, et les numéros de transporteur qui me sont propre) la colonne s'affiche mais pas le logo du transporteur.. Voici mon code initialisation colonne + callback de la fonction: $this->fields_list = array_merge($this->fields_list, array( 'id_carrier' => array( 'title' => $this->l('Transporteur'), 'type' => 'select', 'order_key' => 'false', 'callback' => 'printImageCarrier' ), )); fonction: public function printImageCarrier($id_order, $tr) { $imagecarrier = array ( 207 => '<img src="../img/s/207.jpg" style="width:80%"/>', 210 => '<img src="../img/s/210.jpg" style="width:80%"/>', 416 => '<img src="../img/s/416.jpg" style="width:80%"/>', 444 => '<img src="../img/s/444.jpg" style="width:80%"/>', 448 => '<img src="../img/s/448.jpg" style="width:80%"/>', 449 => '<img src="../img/s/449.jpg" style="width:80%"/>', 450 => '<img src="../img/s/450.jpg" style="width:80%"/>', 455 => '<img src="../img/s/320.jpg" style="width:80%"/>', 456 => '<img src="../img/s/207.jpg" style="width:80%"/>', 457 => '<img src="../img/s/210.jpg" style="width:80%"/>', 458 => '<img src="../img/s/274.jpg" style="width:80%"/>', 459 => '<img src="../img/s/444.jpg" style="width:80%"/>', 460 => '<img src="../img/s/440.jpg" style="width:80%"/>', 461 => '<img src="../img/s/411.jpg" style="width:80%"/>', 462 => '<img src="../img/s/446.jpg" style="width:80%"/>', 463 => '<img src="../img/s/443.jpg" style="width:80%"/>', 464 => '<img src="../img/s/443.jpg" style="width:80%"/>', ); $tr['id_carrier'] = $imagecarrier[$tr['id_carrier']]; return ($tr['id_carrier']); } Je bloque depuis plusieurs jours là dessus malheureusement.. Si quelqu'un pourrait m'éclairer ça serait pas de refus ! Merci d'avance ! Link to comment Share on other sites More sharing options...
julianbaros Posted April 23, 2019 Share Posted April 23, 2019 Bonjour Tristan, Question bête, As-tu vidé ton cache ? As-tu essayé de mettre l'URL complète de tes images à savoir : https://www.monsite.fr/img/admin/... Link to comment Share on other sites More sharing options...
Tristan Matteoli Posted April 23, 2019 Share Posted April 23, 2019 Bonsoir @julianbaros, Tout d'abord merci pour ta réponse si rapide ! J'ai vidé le cache du site + du navigateur, rien n'a changé. Quant à l'url je l'ai d'abord testé sur le navigateur, il fonctionne et m'affiche l'image (logique ahah). Ensuite quand je l'ai mis dans mon tableau mais rien ne change, j'ai le même résultat qu'avec un "img src". Link to comment Share on other sites More sharing options...
l'indien Posted April 23, 2019 Author Share Posted April 23, 2019 essai avec ça : public function printImageCarrier($id_order, $tr) { $imagecarrier = array ( 207 => '<img src="../img/s/207.jpg" style="width:80%"/>', 210 => '<img src="../img/s/210.jpg" style="width:80%"/>', 416 => '<img src="../img/s/416.jpg" style="width:80%"/>', 444 => '<img src="../img/s/444.jpg" style="width:80%"/>', 448 => '<img src="../img/s/448.jpg" style="width:80%"/>', 449 => '<img src="../img/s/449.jpg" style="width:80%"/>', 450 => '<img src="../img/s/450.jpg" style="width:80%"/>', 455 => '<img src="../img/s/320.jpg" style="width:80%"/>', 456 => '<img src="../img/s/207.jpg" style="width:80%"/>', 457 => '<img src="../img/s/210.jpg" style="width:80%"/>', 458 => '<img src="../img/s/274.jpg" style="width:80%"/>', 459 => '<img src="../img/s/444.jpg" style="width:80%"/>', 460 => '<img src="../img/s/440.jpg" style="width:80%"/>', 461 => '<img src="../img/s/411.jpg" style="width:80%"/>', 462 => '<img src="../img/s/446.jpg" style="width:80%"/>', 463 => '<img src="../img/s/443.jpg" style="width:80%"/>', 464 => '<img src="../img/s/443.jpg" style="width:80%"/>'; $tr['id_carrier'] = $imagecarrier[$tr['id_carrier']]; return ($tr['id_carrier']); } IL ME SEMBLE QU'IL N'Y A PAS DE POINT VIRGULE A LA FIN DE LA LISTE MAIS UNE VIRGULE ET UN ")" MAL PLACE VOIR EN TROP ? NON ? Link to comment Share on other sites More sharing options...
Tristan Matteoli Posted April 24, 2019 Share Posted April 24, 2019 Bonjour @l'indien, C'est ce que je pensais aussi à la base, seulement cela me met une fatal error. En mettant les messages d'erreurs du mode dev via le define.inc.php il me dit justement qu'il faut que j'enlève le ";" à la fin et que je le remplace par une simple "," puis de rajouter ");" . En faisant cela aucune erreur n'est affichée seulement les logos ne sont pas affichés dans la colonne. Link to comment Share on other sites More sharing options...
Tristan Matteoli Posted April 29, 2019 Share Posted April 29, 2019 Petit UP on sait jamais ! Link to comment Share on other sites More sharing options...
Guest Posted April 29, 2019 Share Posted April 29, 2019 Je veux bien te filer un coup de main.. c'est quoi ta version et y'a moyen d'avoir l'url et un identifiant pour vérifier ça ? y'a moyen de faire plus simple sans avoir ton tableau de correspondance en dur aussi, aller chercher la vrai image du transporteur dans la base ce n'est pas compliqué, sinon puisque c'est de la bidouille, modifier le code tpl pour afficher l'image avec l'ID du transporteur dans un repertoire image dédiée à cet effet et plus besoin de array à créer et remplir Link to comment Share on other sites More sharing options...
Tristan Matteoli Posted May 22, 2019 Share Posted May 22, 2019 Salut, Désolé pour ma longue absence, j'avais beaucoup de travail et ai donc laissé cette partie de côté. Je comprendrais totalement que vous ne répondiez plus après cette longue attente. Je suis en version 1.7.5, je n'ai malheureusement pas le droit de donner l'url ainsi qu'un identifiant car je travail pour quelqu'un et je n'ai pas l'autorisation de les fournir. L'utilisation du tableau me semble bien car je n'ai pas les images dans la base de donnée mais seulement dans un répertoire de mon site. Je me demande si il ne faudrait pas seulement adapter le code fourni au dessus pour la version 1.6 en version 1.7 (par exemple essayer d'utiliser un Tools:: plutôt qu'un simple return) Link to comment Share on other sites More sharing options...
Janett Posted May 22, 2019 Share Posted May 22, 2019 Pour info, au lieu de faire des bidouilles toutes aussi étranges les unes que les autres, vous pouvez utiliser un module pour cela : 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