Jump to content

Affecter le prix d'un produit à partir d'une fonction php


Recommended Posts

Bonsoir à tous,

sur un projet je souhaiterais pouvoir affecter dynamiquement le prix d'un produit, à partir d'une fonction php.

je m'explique : on vend un seul produit, un service en fait. Exemple : imprimer un doc de tel format, telle dimension, avec telle option, telle quantité... Il y a des coefficients, des multiplications.... j'ai fait un script php qui fonctionne très bien pour calculer le prix.

Le problème c'est que j'ignore comment "le relier" à prestashop....

Avez vous une idée de comment faire ?

Merci

Link to comment
Share on other sites

Je pensais qu'il existait une solution pour mettre le prix que l'on veut à un produit (dans un champ texte).
Type d'utilisation : pour faire un don, on choisit la somme et cela l'ajoute au panier, ou alors dans le cas d'un chèque cadeau, ou l'on pourrait saisir le montant à offrir...

Si une telle solution existe cela me conviendrait parfaitement...Sinon je vais voir avec les déclinaisons effectivement mais il va falloir simplifier la formule...

Link to comment
Share on other sites

  • 1 month later...

Bon je suis gentil... Voici de quoi vous mettre sur la piste :
Le bouton 'calculer' est un formulaire classique qui fait appel à un script php, résultats en ajax. Il n'est absolument pas relié au core.

Lorsque l'on clique sur le bouton "valider la commande" (le tout en ajax) :
- on crée dynamiquement dans la base de données une déclinaison "sur mesure", en affectant le prix souhaité (prix unitaire)
- on récupère l'identifiant de la combinaison crée, et modifie le formulaire en fonction (champ input hidden)
- on ajoute au panier, toujours en ajax.

Et ensuite, rien à modifier dans l'outil, on a un produit, avec un prix unique, correspondant à une déclinaison crée dynamiquement, car il est impossible de créer autant de combinaisons à la main qu'il existe de possiblité, d'autant plus que les combinaisons sont la somme de règles de calcul et de coefficient qui ne sont pas gérables depuis le back office.


Une bonne connaissance de php, mysql, ainsi que du fonctionnement du core est préférable....

Bon courage

Link to comment
Share on other sites

En fait il n'y a de créations de combinaison que si il y a ajout au panier (et non à chaque calcul de combinaison), donc en théorie le nombre ne devrait pas poser trop de problème.
D'autant plus que l'on n'est pas sur un site d'achat inpulsif, le taux d'abandon du panier devrait être relativement faible.
Il y a une vérification au niveau pour voir si la valeur du champ existent déjà (exemple dans mon cas : "30 pages noir"), ce qui limite aussi.

Un script est prévu également pour faire le clean sur les combinaisons crées, sur des paniers n'ayant pas été validés.

Link to comment
Share on other sites

Très bon conseil, par contre, je ne sais pas si tu as le souci en AJAX d'une Error 500 lors de l'appel ?
Si j'utilise des fonctions du genre Db:autoexecute dans mon script PHP appelé en AJAX, je me retrouve avec une erreur 500...

Par contre, un simple : "echo 'AJAX ok';" marche sans souci.
Je sais pas si Prestashop met une couche de sécurité dessus ?
Enfin je vais trouver, mais si quelqu'un a une idée ...

EDIT :
Je m'auto-réponds ... Je n'avais pas vu que Db était une classe abstraite ... Il faut bien utiliser : Db::getInstance() avant chaque appel.
Plus qu'à faire les Tasks de nettoyage...

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...