Jump to content
WebDevAE

Changer le prix lors de l'ajout au panier

Recommended Posts

Bonjour à tous,

 

je suis actuellement en train de bosser sur un site, et nous embarquons un configurateur pour que le client puisse personnalier son produit.

A l'issue de cette configuration, nous avons un prix calculé différent du prix initial du produit.

Je souhairerai donc savoir comment je peux faire (quelle fonction modifier ou dans quel fichier) pour que le prix du produit dans le pannier et dans tout le déroulement du paiement soit le prix qui est calculé par notre configurateur ?

J'imagine qu'il faut surcharger une méthode, mais je ne vois pas encore laquelle.

 

Merci d'avance de vos réponses !

Share this post


Link to post
Share on other sites

Pour être plus clair, je souhaiterai savoir quelle fonction gère le prix dans le panier

Share this post


Link to post
Share on other sites

Bonjour,

 

Une piste possible et qui ne nécessite pas de grands développement. (mais qui nécessite que le client soit identifié )
A la fin de la configuration de ton produit, tu peux créer un prix spécifique pour le produit associé au client et pour une durée déterminée. ( classe SpecificPrice )
C'est ce prix qui sera pris en compte pour la suite du process client.

Share this post


Link to post
Share on other sites

Bonjour,

 

merci de ta réponse, je teste ça et je vous tient au courant !

Share this post


Link to post
Share on other sites

Si tu cherche le code qui gére ça, c'est la Classe Cart.php,

je te conseille de faire un override.

Cordialement

Share this post


Link to post
Share on other sites

Merci de ta réponse guigui23 !

 

Est-ce que tu sais quelle fonction exactement gère cet ajout ? Car je vois la fonction add($autodate = true, $null_values = false), mais elle ne semble pas être en lien avec le prix du produit.

Share this post


Link to post
Share on other sites

Non la methode add est pour ajouter un panier dans la base de données, 

pour le détails du panier c'est la mehtode getSummaryCart (de mémoire)

tu cherches à faire quoi exactement ? 

Cordialement

Share this post


Link to post
Share on other sites

En fait, j'ai une page intermédiaire quand on clique sur "Ajouter au panier" (un configurateur pour dessiner quelque chose sur le produit), puis ce configurateur redirige vers le panier, avec en paramètre le prix qui a été calculé lors de la configuration. Je souhaiterai donc que le prix qui sera affiché dans le panier soit celui qui a été calculé par le configurateur et non celui de base.

Edited by Webmasterdom (see edit history)

Share this post


Link to post
Share on other sites

Comment fonctionne le configurateur, est'ce qu'il agit sur un produit ou sur un ensemble de produit (genre un produit principal + les produits qui lui servent d'option de configuration) ?

Share this post


Link to post
Share on other sites

Oui, il agit sur un produit. Le visiteur va sur la page produit, clique sur "Configurer le produit" (bouton que nous avons ajouté), puis le configuration apparait. L'utilisateur peut dessiner, écrire, ... puis lorsqu'il clique sur valider, il est redirigé vers le panier avec en paramètre le prix calculé.

Share this post


Link to post
Share on other sites

On peut pas passer un prix au panier; le prix de chaque produit est récupéré par la méthode getproductprice dans cart.php (getproducts), pour avoir le cout total (getordertotal).

 

Ce qui peut être envisagé:

 

lorsque que la configuration est ajoutée au panier, créer automatiquement un produit (une copie du produit original), changer son prix (le prix calculé par le configurateur), puis ajouter ce dernier au panier. Le produit qui se retrouve dans le panier n'est donc pas l'original mais le produit configuré. Bien sûr cela demandera comment même des modifs ( principalement au niveau du cartcontroller).

 

Juste une idée.

Share this post


Link to post
Share on other sites

Bonjour,

Le sujet m'intéresse... Pouvez-vous m'indiquer comment vous avez fait finalement ?

Merci d'avance de votre réponse.

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More