osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> (résolu) Afficher un logo du mode de paiement, Dans la page order de l'admin (a coté du status)
polo
posté 5 Jun 2009, 16:10
Message #1


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1441
Inscrit : 24-April 03
Membre no 1102



Bonjour à toute et à tous !


Voila , je cherche pour améliorer la présentation de la liste des commande, en effet j'aimerais pouvoir dans le tableau order.php, afficher un logo relatif au mode de paiement, et ceux juste à coté du status.

J'y suis arrivé en utilisant des switch via le titre de la méthode, malheureusement cette méthode à ces limite car le titres trop long ou comportant des caractères spéciaux (accents) pose problème, la méthode la plus propore serait de pouvoir utiliser le code du mode de paiement, c'est à dire l'abréviation, comme ceci:

eubanktransfer pour les virement bancaires
moneyorder pour les chèques.
etc....

J'ai donc fait ceci:

Code
if ($payment_modules[$i]['id'] == 'eubanktransfer')
  echo tep_image(DIR_WS_ICONS . 'paie_transfert.gif', 'Virement bancaire');


Mais çà ne marche pas, la encore un soucis de syntaxe, je n'ai pas de message d'erreur, y'a til moyen de récupérer le code du module de paiement ?

ou y'a t'il un id pour les module de paiement ? si oui comment le récupérer dans orders ?

Ce message a été modifié par polo - 12 Jun 2009, 23:32.


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
shoprun
posté 5 Jun 2009, 20:16
Message #2


2eme dan OSC
Icône de groupe

Groupe : Membres VIP
Messages : 3712
Inscrit : 11-April 07
Lieu : Ile de la Réunion
Membre no 16487



Salut

Utiliser ne nom de la classe du module de paiement serait certainement le meilleur moyen de faire ce que tu veux, malheureusement, cette info est stockée nulle part, ni dans la BDD, et encore moins dans la classe "order".

J'ai comme l'impression que tu n'as pas vraiment le choix de le rajouter dans la BDD, table "orders".
Dans cette tu as donc actuellement le champ "payment_method", faudrait donc rajouter un champ du genre "payment_class".
Faudra alors mettre à jour tout ça dans le checkout_process coté catalog, car c'est évidemment à ce moment ou les commandes sont enregistrées dans la BDD.

Petit bémol tout de même, car la théorie veut que stocker la nom de la classe ne soit pas la meilleure solution, car rien ne dit que les modes de paiement soient toujours les mêmes pour une boutique, aujourd'hui comme dans 5 ou 10 ans tout comme hier. Un mode de paiement peu évoluer, son nom peut même changer au fil du temps, faut donc le savoir.
Ici ça n'a pas une énorme importance à priori, ce n'est que pour une image, faudra juste faire en sorte de ne jamais la supprimer.



--------------------
Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet.
Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums
Prés-Requis -> Les compétences requises pour réussir avec osCommerce
Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US
Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer
Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla
Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com
Go to the top of the page
 
polo
posté 7 Jun 2009, 14:01
Message #3


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1441
Inscrit : 24-April 03
Membre no 1102



Ah c'est aussi hardu que cela, en fait je pensait que je pouvait m'inspirer de ce code coté boutique, qui permet d'identifier le type de mode de paiement et d'afficher un icons ou autre:

Code
<?php //NBen je rajoute ce qui suit pour affichage d'un logo SPPLUS
                                if ($selection[$i]['id'] == 'cep') {
                        echo tep_image($selection[$i]['icon'], $selection[$i]['module']);
                      }
                    ?>


Ont pourrait envisager ceci:


Code
<?php //Afficher un logo pour Les chèques
                                if ($selection[$i]['id'] == 'moneyorder') {
                        echo tep_image(mon image);
                      }
                    ?>


Mais dans l'admin je sais pas comment m'y prendre car la fonction $selection, je ne sais pas comment elle est construite.

De plus çà fonctionne par id non ? à en croire ce bout de code ?:

Code
($selection[$i]['id']


Mais dans orders.php c'est une autre histroire.


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
shoprun
posté 7 Jun 2009, 19:25
Message #4


2eme dan OSC
Icône de groupe

Groupe : Membres VIP
Messages : 3712
Inscrit : 11-April 07
Lieu : Ile de la Réunion
Membre no 16487



Citation (polo)
Ah c'est aussi hardu que cela, en fait je pensait que je pouvait m'inspirer de ce code coté boutique, qui permet d'identifier
Je doute que tu puisse t'appuyer sur tout ça vu que tu n'a rien t'indiquant à quel module de paiement tu as affaire.
Partant de là, le plus est serait donc d'enregistrer le nom de la classe, il y a que 2 choses à faire seulement :
1/ Rajouter le champ dans la table "orders"
2/ Rajouter le nom de la classe au moment de l'enregistrement de la commande, dans le checkout_process.php
C'est pas l'Pérou, non ?

Sachant que le nom de la classe peut être obtenu avec : $shipping['id'].
Enfin, avec ce code tu obtiendras normalement son nom sous la forme : moneyorder_moneyorder (ou cep_cep)
Il faut donc éliminer le doublon qu'il y a sur le nom, avec ce code :
Code
substr($shipping['id'], 0, strpos($shipping['id'], '_'));


Dans le checkout process.php, suffit de rajouter un code du genre : (dans le $sql_data_array)
Code
... code ...
'payment_method' => $order->info['payment_method'],
'payment_class' => substr($shipping['id'], 0, strpos($shipping['id'], '_')),
... code etc ...
Théoriquement, c'est tout ce qu'il y a à faire.


A partir du moment où tu as le nom de la classe, et bien te reste plus qu'à l'exploiter pour afficher une image basée du même nom smile.gif
Faudra tout de même rajouter manuellement dans la BDD le nom en question à toutes les commandes effectuées précédemment. wink.gif


--------------------
Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet.
Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums
Prés-Requis -> Les compétences requises pour réussir avec osCommerce
Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US
Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer
Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla
Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com
Go to the top of the page
 
polo
posté 7 Jun 2009, 20:14
Message #5


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1441
Inscrit : 24-April 03
Membre no 1102



Ah je savais pas que l'ont pouvez utiliser $shipping['id']. qui est pour les frais de port ?? non ? pour le mode de paiement.

Sinon au lieu d'utiliser le nom du module dans la BDD et dans un soucis d'économie de place, serait il possible d'utiliser un numéro d'id plutôt .? genre 0= paiement par CB, "1"= paiement par chèque etc.... et rappeler ces numéros dans order, avec l'aide de switch par exemple pour afficher l'icon.

Enfin je vais déjà assimiler tes conseils, te relire et essayer de faire çà. blush.gif

Merci tongue.gif


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
shoprun
posté 7 Jun 2009, 20:34
Message #6


2eme dan OSC
Icône de groupe

Groupe : Membres VIP
Messages : 3712
Inscrit : 11-April 07
Lieu : Ile de la Réunion
Membre no 16487



Citation
dans un soucis d'économie de place
Ca serait une économie de bout d'chandelle tongue.gif
Franchement, les noms des modules sont rarement très long, quelques caractères, rarement au-delà de 10, ça ne représente de quelques tous petits octects d'économiser à chaque fois, autant dire rien du tout.

Personnellement j'en ferais rien, avoir son nom tel quel est l'idéal wink.gif
Optimiser sa BDD est une bonne démarche, mais faut pas trop pousser non plus, disons faut pas se tromper où il est bon de le faire, et là où c'est inutile.


--------------------
Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet.
Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums
Prés-Requis -> Les compétences requises pour réussir avec osCommerce
Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US
Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer
Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla
Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com
Go to the top of the page
 
shoprun
posté 7 Jun 2009, 20:48
Message #7


2eme dan OSC
Icône de groupe

Groupe : Membres VIP
Messages : 3712
Inscrit : 11-April 07
Lieu : Ile de la Réunion
Membre no 16487



Citation (polo @ 8 Jun 2009, 00:14) *
Ah je savais pas que l'ont pouvez utiliser $shipping['id']. qui est pour les frais de port ?? non ? pour le mode de paiement
Je me plante royalement, sorry mrgreen.gif biggrin.gif

Le $shipping, comme son nom l'indique c'est pour le module de livraison, mais pour le module de paiement, c'est $payment, évidemment tongue.gif
De plus, cette variable est à utilisée telle quelle $payment tout simplement (il y a rien à faire de plus), sa valeur est le nom du module de paiement utilisée.

Code à corriger ci-dessus wink.gif


--------------------
Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet.
Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums
Prés-Requis -> Les compétences requises pour réussir avec osCommerce
Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US
Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer
Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla
Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com
Go to the top of the page
 
polo
posté 8 Jun 2009, 14:46
Message #8


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1441
Inscrit : 24-April 03
Membre no 1102



edit: bon je regarde ta méthode pour voir...

Ce message a été modifié par polo - 8 Jun 2009, 15:11.


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
polo
posté 12 Jun 2009, 23:32
Message #9


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1441
Inscrit : 24-April 03
Membre no 1102



Bon j'ai laissé tombé unsure.gif , en fait j'ai réussi à résoudre mon problème apparemment , j'avais mal repris le nom du module, j'ai repris le nom à partir de la base SQL et non de mon fichier de localisation.


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
Roseladay123
posté 22 Aug 2009, 03:57
Message #10


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 1
Inscrit : 22-August 09
Membre no 25989



Merci de votre solution


que des informations détaillées


comparatif simulation assurance vie multisupport - simulation assurance vie ! Les sites de simulation assurance viecomparatif simulation assurance vie multisupport
Go to the top of the page
 
audioshop
posté 22 Aug 2009, 09:14
Message #11


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 983
Inscrit : 8-April 08
Lieu : strasbourg
Membre no 21429



Salut polo,

Je sais pas si tu as réussis depuis que tu as posé la question mais j'ai donné la réponse sur ce sujet Clique ici

Pour mettre un petit logo correspondant au mode de paiement dans checkout_paiement.PHP

Il n'y as rien de bien compliqué tout est expliqué dans le topic cité plus haut il suffit juste de faire les petit arrangement pour chaque mode de paiement.

@+++
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 19:10
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)