Jump to content

[RESOLU]Limiter un module à un client


Recommended Posts

Bonjour

J'essaie de monter un webshop avec PS 1.2.5. Je voudrais utiliser le module 'cash on delivery', mais le rendre visible ou accessible à un seul client, ainsi que le transporteur. Comment dois je proceder? J'ai quelque connaissances de CLIPPER qui datent d'une vie antérieure.

merci pour le cas ou quelqu'un aura pitié avec moi.


mer calme, 29 °, pas de vent, pas de nuage

Klaus

Link to comment
Share on other sites

Bonjour,

Je suis du Sud Ouest alors pas de nuage, et du soleil ne m'envie pas :P
Par contre, l'au à 29 jdis pas!!

Sinon, concernant Presta...
Si vous connaissez l'ID du client, il est possible de faire une condition au niveau des frais de port et des paiements du genre:
Si client différent ID=X alors afficher sinon rien...
Comme ça le client ID=X ne verra pas les frais ni le paiement...

Ai-je répondu??

Link to comment
Share on other sites

Bonsoir Checaman

Tu as bien répondu à ma question, mais moi, je ne comprends qu'à moitié.
La condition: c'est clair.
Mais où la placer, c'est moins évident.

J'explique mon cas:
Je voudrais que ma vendeuse puisse faire des ventes directes depuis le webshop avec impression des factures, sans qu'elle a accès au BO.
Cette possibilité ne doit pas être disponible pour les autres clients.
J'ai créé donc un transporteur 'vente directe' et j'ai installé le module 'cash on pickup' de TropischBruin (je me suis trompé dans le nom du module dans mon premier post).
Cela fait exactement ce que j'ai besoin, sauf que c'est accessible à tous.


il est 9h16 am, mer calme, peu de nuages, pas de vent et toujours 29°.

Klaus

Link to comment
Share on other sites

Dans le fichier /themes/votre_theme/order-carrier.tpl vous avez à la ligne 62 l'affichage de tous les transporteurs.
Si vous ne voulez pas trop vous prendre la tête, vous pouvez ajouter à la ligne 63 :

{if $cookie->id_customer == X and $carrier.id_carrier!="Y"}
......
{/if}


X = ID du client et Y l'identifiant du transporteur que vous voulez cacher.

 




Pour le paiement, cela se trouve dans le fichier /classes/module.php à la ligne 448 là où il y a un foreach!
Là pareil, pour pas trop s'embêter, rajouter à la ligne 449 :

if($cookie->id_customer==X and $module['name']!="Y")


X = ID du client et Y le nom du module de paiement que vous voulez cacher.


Normalement c'est bon... J'ai testé chez moi avant de vous le dire et cela fonctionne...

Bon courage!

Link to comment
Share on other sites

Bonjour
Checaman: J'ai essayé ta solution, mais je n'arrive pas à la faire fonctionner.

Jeckyl : pas de module pour ce que je recherche.

En contrepartie, j'ai recherché sur le wiki et j'ai trouvé ça:
Note: Les clients qui vivent dans un pays ou un état qui n’a pas été assigné à une Zone n’auront pas de frais d’expédition.

Comment peut en créer un pays sans zone? J'ai créé un pays 'TEST' et j'ai effacé son appartenance aux zones dans la BDD. Mais cela me fait une erreur de 'piratage'.

Autre anomalie (pour moi) : Quand j'affecte un client à un groupe, il reste quand-même dans le groupe défaut. Il fait donc parti de deux groupes.

Ceci veut dire que PS est par défaut pourvu des fonctionnalités que je recherche. Il faut seulement trouver, comment les faire fonctionner.

il fait chaud et je reste à l'ombre.

greez
klaus

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,
Excusez-moi de me joindre à votre chat, mais à propos de la phrase
QUOTE
Autre anomalie (pour moi) : Quand j’affecte un client à un groupe, il reste quand-même dans le groupe défaut. Il fait donc parti de deux groupes
UNQUOTE

Pareil pour moi. J'ai un groupe "Liste noire" destinée aux clients mauvais payeurs. J'aimerais que ceux-ci n'aient pas accès à l'option de paiement "facture à 10 jours" mais je n'ai pas encore trouvé comment faire.
J'ai pourtant bien coché dans paiements - voir image ci-dessous.

En Suisse nous n'avons que 10 degrés, malgré un timide rayon de soleil....

J'espère que vous pourrez m'éclairer un peu,
Merci d'avance

21912_EhKBR24DP6PRAClExfSU_t

Link to comment
Share on other sites

Bonjour et désolé pour le retard, mais j'étais en déplacement .
Je reprends seulement.
Pour répondre à reynoldsm :
Je vais dans la base de données du shop et dans la table ps_customer_group j'efface la ligne qui correspond au client (id_client) et le groupe défaut (normalement '1')dont je veux qu'il appartient qu'au groupe 'liste noire'.

Checaman: Non je n'ai pas encore réussi, mais je compte bien y arriver.

greez
Klaus qui transpire

Link to comment
Share on other sites

Bonsoir

Je récapitule: Pour qu'un module de paiement fonctionne avec un seul groupe de clients, il faut toucher à la BDD pour enlever l'appartenance au groupe 'default'.

La description du WIKI (TRANSPORT)
"Note: Les clients qui vivent dans un pays ou un état qui n’a pas été assigné à une Zone n’auront pas de frais d’expédition."
me semble erronée. Je n'ai pas réussi de créer un état ou un pays sans zone et si je modifie la bdd et je crée mon adresse dans un pays sans zone, j'ai droit au 'tentative de piratage' quand je clique sur 'accueil'.

Klaus

Link to comment
Share on other sites

  • 1 month later...

bonjour à tous,

j'aimerais faire la méme chose avec le transporteur mais au lieu d'utiliser l'id client je voudrais utiliser le code promo pour cacher ou non un transporteur.

j'ai donc essayer d'adapter le code donner plus haut mais ca ne marche pas :


{if $cookie->discount_Name == ALSTOM and $carrier.id_carrier!="12"}
......
{/if}



je l'ai mis a la ligne 63 dans le fichier order-carrier.tpl (aprés un foreach)

je n'y connais pas grand chose en php (je ne programme que du vb.net)

si quelqu'un pourrait m'aider ca serait super sympa.

merci par avance,
laurent

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour


J'explique mon cas:
Je voudrais que ma vendeuse puisse faire des ventes directes depuis le webshop avec impression des factures, sans qu'elle a accès au BO.
Cette possibilité ne doit pas être disponible pour les autres clients.
J'ai créé donc un transporteur 'vente directe' et j'ai installé le module 'cash on pickup' de TropischBruin (je me suis trompé dans le nom du module dans mon premier post).
Cela fait exactement ce que j'ai besoin, sauf que c'est accessible à tous.
Klaus


quelle sont les renseignement que tu as besoin?

Klaus
Link to comment
Share on other sites

bonjour,
en fait j'ai besoin que "cach on delevry" ne soit accesible qu'à certains clients. (ceux que je peux livrer directement moi meme)

j'ai trouver un module qui cache les modes de paiement suivant les transporteurs mais ca ne me suffit qu'à moitié.

Link to comment
Share on other sites

tu crée un groupe de clients 'Cash' par exemple
puis tu crée un client et tu l'affecte à ce groupe en faisant attention de l'enlever du groupe 'defaut'
puis dans 'paiements' tu restreins 'cash on delivery' au groupe 'cash'
dans 'transport' tu crée un transporter (comme tu veux livrer toi même tu mets un "0")
et tu restreins le transporteur au groupe 'cash'

ceci est valable pour PS 1.3.0 et plus.
Je n'ai pas réussi avec PS 1.2.5

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...