Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]



Vous avez des soucis avec votre Opencart v1.5.x, nous pouvons résoudre vos problèmes,
contactez le Bureau France !

par tel: 0 891 690 175 ou par
email

Mode de paiement selon groupe client

Soutien général pour les problèmes techniques avec OpenCart

Mode de paiement selon groupe client

Messagepar astebert » 23 Juil 2013, 22:27

Pour mémoire et facilité de recherche

Certaines extensions US font parfois pire que d'apporter une nouvelle fonctionnalité.
Grâce à Chris et au [url]lien original[/url] de Leorlindel, vous pouvez appliquer sa méthode pour activer certains modules de paiement en fonction de l'appartenance du client à un groupe donné :

1 - Créer un groupe client particulier (par exemple : "client_avec_encours")
2 - Modifier dans \catalog\model\payement\ le fichier correspondant au mode de paiement à faire apparaitre pour ce groupe de client
3 - immédiatement après la ligne d'interrogation de la base $query=...
4 - Modifier le code comme suit (adapter le test en fonction du mode de paiement concerné
Code: Tout sélectionner
// Désactivation du code original
/*
                if ($this->config->get('cheque_total') > $total) {
                        $status = false;
                } elseif (!$this->config->get('cheque_geo_zone_id')) {
                        $status = true;
                } elseif ($query->num_rows) {
                        $status = true;
                } else {
                        $status = false;
                }
*/
// fin de la désactivation du code original

// Ajout fonctionnel :
// Récupérer le numéro du groupe auquel le client appartient
// Tester si son groupe correspond à celui pour lequel ce mode de paiement est autorisé
               $customer_group_id = $this->customer->getCustomerGroupId();
               if($customer_group_id == 9 ){
// Reprise du code original ci-dessus
                       if ($this->config->get('cheque_total') > $total) {
                                $status = false;
                        } elseif (!$this->config->get('cheque_geo_zone_id')) {
                                $status = true;
                        } elseif ($query->num_rows) {
                                $status = true;
                        } else {
                                $status = false;
                        }
// Fin de la reprise du code original
// Basculer le statut du module à faux si le client n'appartient pas au groupe concerné
               } else {
                         $status = false;
               }
// Fin Proposition du mode de paiement selon groupe de client


Vérifié et appliqué sur OC FR 1.5.1.3
That's all folks !
Bertrand
---
Opencart 1.5.1.3_FR - Serveur OS Debian Squeeze + Cherokee 1.8 + PHP 5.3.13-1 + MySQL 5.1.66-0 - Poste de travail Linux Mint 13
Extensions : Delivery Date Pro 3.0, Professional Pickup
Avatar de l’utilisateur
astebert
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 4
Inscription: 02 Aoû 2012, 09:45
Localisation: Deux-sèvres, Poitou-Charentes, France

Retourner vers Soutien Général

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron