[Resolu]Module de paiement spécifique selon client |
Bienvenue invité ( Connexion | Inscription )
[Resolu]Module de paiement spécifique selon client |
18 Apr 2013, 10:53
Message
#1
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
Bonjour,
J'aurais besoin d'un peu d'aide pour m'aider à mettre en code ce dont j'ai besoin. Je cherche à faire apparaitre sur la page checkout_payment, un module de paiement qui s'afficherais seulement pour certains clients. Mon idée : Je me créé un module de paiement qui par défaut serait désactive. J'aurais alors un truc du genre dans mon module : Si customers_id = 111 ou 222 ou 333 alors le module s'active. Seulement je n'arrive pas coder la fonction pour aller "chercher" mes id clients. Si quelqu'un à des idées, je suis preneur; Merci Ce message a été modifié par mickael34 - 21 May 2013, 21:55. -------------------- Sur OsCommerce 2.2
|
|
19 Apr 2013, 07:57
Message
#2
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonjour,
Perso, j'aurais une autre approche : Vu que les modules de paiements présents dans le répertoire sont "scannés" pour être affichés si ils sont activés, je pense qu'il vaudrait mieux ajouter un champ à ta fiche client et que c'est dans ton module de paiement que tu vérifies si ce fameux champs contient la valeur que tu veux pour le faire afficher. Avantages : - ne touche pas au codage des checkout_* - personnalisable pour chaque client directement dans sa fiche : selon la valeur du marqueur, un module de paiement spécifique s'affichera. Par exemple si marqueur=P alors Paypal, si marqueur=V alors Virement, etc ... Inconvénient : - le marqueur de la fiche client sera placé manuellement, ce qui sous-entend qu'il faudrait le placer à la création du compte AVANT la commande du dit client. Mais bon, l'inconvénient est relatif à ton activité ... -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
19 Apr 2013, 08:28
Message
#3
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
Merci pour tes idées, je vais m'y pencher
-------------------- Sur OsCommerce 2.2
|
|
16 May 2013, 09:28
Message
#4
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
Bonjour,
Je reviens sur mon problème. Quelqu'un pourrait-il m'aider ? Je me suis servir du module "paiement à la livraison" : cod.php Dans le module, j'ai modifié une partie du code par ça : Code function update_status() { global $order; if ( ($this->enabled == true) ) { $check_flag = false; $check_query = tep_db_query("select customers_id from " . TABLE_CUSTOMERS . ""); while ($check = tep_db_fetch_array($check_query)) { if ($check['customers_id'] == 26021 || $check['customers_id'] == 28808 || $check['customers_id'] == 28809 || $check['customers_id'] == 32800) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } } En résumé : si client aaa ou bbb ou ccc ou ddd alors mon module s'affiche sinon non. Sauf que mon module s'affiche tout le temps, ma condition de client n'est pas prise en compte !!! Je ne comprend pas, j'ai fait une erreur dans mon code ? D'avance merci pour votre aide -------------------- Sur OsCommerce 2.2
|
|
16 May 2013, 12:55
Message
#5
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
plutôt comme ça :
Code if(in_array($_SESSION['customer_id'],$check)) , non? |
|
16 May 2013, 13:18
Message
#6
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
Merci de ton aide mais non toujours pas !!
Le module s'affiche quelque soit le client !!! C'est incompréhensible. Je bloque dessus depuis plusieurs heures. -------------------- Sur OsCommerce 2.2
|
|
21 May 2013, 22:01
Message
#7
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
J'ai fini par y arriver.
Voici mon code (je sais si pas si il est très propre) qui fait apparaitre un module de paiement selon un critère : Code function update_status() { global $order; if ($this->enabled == true) { $check_flag = false; $check_query = tep_db_query("select customers_telephone from " . TABLE_CUSTOMERS . " where customers_telephone = 00000000 order by customers_telephone"); while ($check = tep_db_fetch_array($check_query)) { if ($check['customers_telephone'] == $order->customer['telephone']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } } Le tri se fait par le telephone mais aurait pu se faire par un autre champs. Tous les clients ayant le numéro de telephone : 00000000 verront le module de paiement s'afficher. Les autres clients non. -------------------- Sur OsCommerce 2.2
|
|
Version bas débit | Nous sommes le : 29th March 2024 - 05:35 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |