Jump to content

Conseil pour débutant : Groupe de client Premium


Bouillou

Recommended Posts

Bonjour,

 

Je viens de découvrir Prestashop qui semble tout à fait convenir à mes besoins.

 

J'ai trouvé beaucoup de réponses à mes questions dans ce forum, cependant il m'en reste quelques-unes que je désire vous posez afin de ne pas réinventer des modules existant :

  • En admettant que je crée un groupe d'utilisateur Premium avec des prix avantageux. Est-il possible d'afficher le prix Premium d'un article aux utilisateurs des autres groupes afin de les motiver à souscrire à l'abonnement Premium?
  • Est-il possible de créer un module permettant une étape supplémentaire dans le flux de confirmation d'une commande : vérification d'un numéro de carte spéciale (genre e-banking) afin de s'assurer que l'utilisateur d'un groupe "Premium" est en possession d'une carte de réduction très avantageuses?

Merci d'avance pour vos réponses et bon we

Edited by Bouillou (see edit history)
Link to comment
Share on other sites

Pour la première question oui mais il me semble qu'il faudra faire des changements dans le coeur de presta (à moins qu'il y ait une autre solution ?)

 

Pour la deuxième question, oui car il existe des HOOKS dans les pages de commande donc tu peux y greffer de nouvelles choses.

Link to comment
Share on other sites

Merci pour votre réactivité et votre réponse.

 

Concernant le point 1 (affichage des prix premium), pourriez-vous me confirmer mon approche:

  • Je dois créer un module (un hook doit certainement exister avant l'affichage de chaque produit) qui doit avoir le comportement suivant : Si mon utilisateur ne fait pas partie de mon groupe Je dois récupérer le prix de mon produit pour un le groupe Premium afin de pour l'afficher dans le template

Merci d'avance pour votre aide

Link to comment
Share on other sites

Oui ça me semble une bonne idée. Un possibilité est de faire comme ça:

 

Dans la fonction hook de ton module (hookextraright par exemple) tu mets le code suivant:

global $smarty;
 global $cookie;
 $groupe=Customer::getDefaultGroupId($cookie->id_customer);
 $reduction=Group::getReductionByIdGroup(1);
 $smarty->assign(array('groupe'=>$groupe,'reduction'=>$reduction));

 

Ce code te permet de récupérer l'id groupe du client en cours.

Il te permet également de récupérer le montant de la remise pour le groupe premium (ici le groupe premium est le groupe 1 on utilise donc getReductionByIdGroup(1)).

 

Côté TPL tu affiches:

{if $logged}
{if isset($groupe) and $groupe!=1}
Profitez d'une remise de {$reduction}% sur ce produit en devenant un membre premium !
{/if}
{/if}

Ainsi on dit si le groupe du client en cours est différent du groupe client premium 1 alors on affiche le montant de la réduction du groupe 1.

Edited by franckm1000 (see edit history)
  • Like 1
Link to comment
Share on other sites

$reduction=Group::getReductionByIdGroup(1);

 

La réponse ci-dessus de Franckm1000 permet de récupérer la réduction d'un groupe, est-ce que quelqu'un saurait comment récupérer le prix d'un produit pour un groupe spécifique?

Link to comment
Share on other sites

Si tu es dans une page produit (product.tpl) il te suffit d'utiliser la variable {$reduction} que j'ai mise plus haut et avec un math equation de faire un simple calcul:

{math equation="x-(x/100)*y" x=$productPrice y=$reduction}

(A l'endroit du calcul du prix du produit)

 

NB: la classe group ne contient que qu'un montant de réduction en % et je ne crois pas avoir vu de méthode calculant directement le prix du produit.

Edited by franckm1000 (see edit history)
Link to comment
Share on other sites

Merci encore pour ta réponse, j'ai cependant des prix spécifiques à un groupe que je désire afficher pour les autres groupes. Je ne peux pas me contenter de la réduction générale du groupe pour tous les produits.

 

En cherchant. j'ai trouvé que l'appel à la fonction statique

 SpecificPrice::getSpecificPrice()

permet d'obtenir la valeur du champ de la table specific_price.

 

Bonne journée

Edited by Bouillou (see edit history)
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...