Bonjour Voyager75 et merci pour ta réponse
Pour les précisions et comme tu débutes, je vais un peu détailler... donc je fais un site sous j2.5 et j'utilise notamment Breezing Forms pour l'achat de "Crédits" à dépenser sur mon site.
J'ai donc créé un formulaire en Quickmode, 1 page de champs et une page de remerciement. Breezing Forms permet notamment d'injecter du code, js pour actions côté client et php pour traitements côté serveur, et ces codes peuvent être introduits en entrée/sortie du formulaire ou dans les options de configurations des champs.
Je souhaite donc deux choses :
- si l'utilisateur paye par système direct (genre paypal, carte de crédits...), quand le paiement est accepté, j'ai un retour du système de paiement qui me dit que c'est accepté, je dois alors verser le nombre de "Crédits" sur le compte que l'utilisateur a sur le site. Si mon formulaire d'achat peut détecter l'acceptation du paiement (je suppose que oui puisque Breezing Forms fournit des tas d'exemples avec Paypal et autres), je dois voir quel "Pack" l'utilisateur a acheté et verser le nombre de "Crédits" correspondant quand le paiement est validé, rien de sorcier si on connait php et accessoirement Breezing Forms
- si l'utilisateur paye par virement, je souhaite lui imposer une référence à utiliser en communication de son paiement pour des facilités de gestion. Cette communication devrait s'afficher sur la page de remerciement de la commande, c'est à dire sur la page 2 de mon formulaire d'achat. Pour des questions de précision, j'ai déterminé que cette référence devrait se créer au moment du "submit" donc quand l'utilisateur clic sur "Commander". Je présume donc que je devrais injecter un bout de code qui crée la référence, "en sortie" de ma page 1 de mon formulaire, celle donc qui contient les champs préremplis avec les données de l'utilisateur. J'ai expliqué dans mon précédent message la structure de ma référence.
Pour l'exemple, j'ai aussi un formulaire de revente des "Crédits", voici ce que j'ai mis dans la zone "pièces de formulaire", "Avant le formulaire", "personnalisé" que j'accède via "plus d'options" de l'onglet "avancé" des propriétés du formulaire (faut suivre, je sais
) pour simplement récupérer le montant dont dispose l'utilisateur sur son compte
1 2 3 4 5 6 7 8 9 10
| $this->execPieceByName('ff_InitLib');
global $database, $record;
$id = JFactory::getUser()->get('id');
$database->setQuery("
SELECT cb_credits
FROM gcdb_comprofiler
WHERE id = '$id'"
);
$row = $database->loadObjectList();
$record = $row[0]; |
Ce code récupère donc le nombre de "Crédits", il faut maintenant l'injecter dans le champ à afficher sur le formulaire de revente, pour ça dans la config du formulaire, je sélectionne le champ "montant dispo", onglet "propriétés" et dans le champ "valeur", je mets ceci qui va afficher ce que l'autre code a récupéré :
<?php global $record; return $record->cb_credits/100 ; ?>
note, je divise par 100 pour avoir le montant en € car 1 "Crédit" = 1cent
C'est donc des trucs dans ce genre que j'essaye de composer pour mon versement de "Crédits" sur validation et la récupération des données utiles pour créer la référence de virement mais ne connaissant pas la syntaxe, j'ai du mal à créer mes bouts de code que je ne sais pas encore bien où mettre non plus, raison de ma demande d'assistance car comme tu vois, ça ne tient réellement qu'en quelques lignes que j'ai d'ailleurs composées moi-même sur base d'exemples et de la FAQ de Crosstec donc quelqu'un qui connait ferait ça en 3 minutes max...
Voilà un peu l'histoire donc si de ton côté tu as une petite idée ou si à l'inverse tu as un soucis, on peut essayer d'évoluer un peu ensemble...
Cordialement,
Adgenodux
Partager