loesys Posted November 14, 2010 Share Posted November 14, 2010 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 More sharing options...
coeos.pro Posted November 14, 2010 Share Posted November 14, 2010 Bonjour, c'est un peu compliqué car il y a un certain nombre de fichiers à modifier : le panier, panier en ajax, facture dans BO, mails envoyés une fois le paiement effectué...Avez vous essayé de passer par les déclinaisons ? Link to comment Share on other sites More sharing options...
loesys Posted November 15, 2010 Author Share Posted November 15, 2010 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 More sharing options...
loesys Posted November 16, 2010 Author Share Posted November 16, 2010 Petit up.. en fait je souhaiterais faire exactement comme pour ce site, avez vous une piste ? http://www.woodeos.com/decoupes-sur-mesure/decoupe-elliptiques.html Il a été fait avec prestashop également.. Link to comment Share on other sites More sharing options...
Ziquou Posted December 26, 2010 Share Posted December 26, 2010 Bonjour,pour la mise en place d'un site proposant des services, j'aurai besoin du même mode de fonctionnement.Avez vous trouvez une solution ?merci Link to comment Share on other sites More sharing options...
loesys Posted December 26, 2010 Author Share Posted December 26, 2010 Oui j'ai trouvé la solution, c'est d'ailleurs visible sur le site d'impression de livre.J'ai développé une partie complémentaire que j'ai greffé au core de l'application. Aucune modif du logiciel de base, ce qui permet de le mettre à jour sereinement.Qu'a tu besoin de savoir précisément ? Link to comment Share on other sites More sharing options...
Ziquou Posted December 26, 2010 Share Posted December 26, 2010 Ce qui m'intéresse est justement de savoir comment vous avez greffé la partie permettant de déterminer le prix d'un article avec le core de l'application. Link to comment Share on other sites More sharing options...
loesys Posted December 26, 2010 Author Share Posted December 26, 2010 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 More sharing options...
Ziquou Posted December 26, 2010 Share Posted December 26, 2010 Merci pour les infos !comme tu rajoutes finalement des déclinaisons dans la base de données. As tu prévu un moyen de "nettoyer" celle-ci , si le nb de déclinaisons devient trop important? Link to comment Share on other sites More sharing options...
loesys Posted December 26, 2010 Author Share Posted December 26, 2010 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 More sharing options...
Vincent Decaux Posted December 27, 2010 Share Posted December 27, 2010 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 More sharing options...
loesys Posted December 29, 2010 Author Share Posted December 29, 2010 Oui effectivement il faut récupérer l'instance crée, sinon ça ne peut pas marcher ! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now