THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,
J'utilise Thelia 1.5, je souhaite ajouter une date et heure à chaque produit que le client pourra choisir au moment de l'ajout au panier.

J'ai ajouté donc dans le formulaire d'ajout au panier un champ date et un champ heure.
Mais comment récupérer ces 2 données du formulaire pour les intégrer dans le panier ???

J'ai réussi à les intégrer avec une session dans la fonction bouclePanier (fichier boucles.php) et arrive à l'afficher sur la page du panier, mais ce n'est pas la bonne méthode... il faudrait récupérer ces données avec la méthode post du formulaire car là si on ajoute plusieurs fois le même produit au panier, on se retrouve au final avec le même créneau horaire (celui de la dernière session)... Et là, je bloque, je m'arrache les cheveux, je n'arrive pas à récupérer les données postées dans ma bouclePanier. Dans quel fichier faut-il intervenir ?

Je dois terminer ce site de toute urgence. Help !
Merci pour votre aide

Offline


Bon, personne pour m'aider :-(
Juste me mettre sur une piste ???

J'y suis presque !
J'ai ajouté les champs souhaités dans le formulaire d'ajout au panier (method post).
J'ai compris quelque peu le chemin que prenaient les données et ai réussi à finaliser la commande avec ces infos complémentaires. :-)
Seul hic, je ne parviens pas à récupérer les 2 variables dans la function ajouter() (dans le fichier action.php). Je ne comprends pas vers quel fichier renvoie directement le formulaire d'ajout au panier : <form action="#AJOUTER_PARAMETRE(#URLCOURANTE,panier=1)" method="post"> ?
Si je mets mes variables en brut dans la function ajouter() tout le reste s'enchaine bien et fonctionne.
Il ne manque plus que cette toute petite partie pour finaliser. Une idée ???

Offline


Il te faut écrire un plugin qui implémente la méthode action(), et va regarder la valeur du paramètre 'action'. Si c'est "ajouter", tu peux récupérer tes paramètres d'horaire.

Après, a toi de les gérer (en session, sans doute), pour les conserver jusqu'à la fin de la commande, et les afficher sur la facture, dans le mail de confirmation de commande, et dans le detail des commandes du client, sans doute via une boucle.

Ca peut te paraitre compliqué, mais c'est la seule façon valide de faire si tu ne souhaite pas modifier le core.


OpenStudio Toulouse

Offline


Milles merci RoadSter 31 pour ce retour !
J'avoue que je commençais à me sentir un peu seule wink

A force d'acharnement, mission accomplie ! en faite dans la function action(), on peut directement récupérer les variables avec $nomdelavariable = $_POST['nameduchamp'];
Je n'ai pas écrit de plugin, mais cela fonctionne en complétant les fonctions et boucles existantes.

Pour ceux que cela intéresserait, il faut agir au niveau des fonctions ajouter() et paiement() dans le fichier action.php, ajouter() dans le fichier Panier.class.php, ainsi que dans les noms des champs de la base de données dans le fichier Venteprod.class.php.

Offline


Et dans les fonctions bouclePanier() et boucleVenteprod() (boucles.php)

Offline


Non, il ne FAUT PAS modifier les fichiers du core de Thelia: on se coupe ainsi de toute misa à jour future.

Il faut tout placer dans le module.


OpenStudio Toulouse