Bonjour,
Je bosse actuellement sur un site pour des notaires sur lequel ils souhaitent présenter des annonces immo. Sur chaque annonce, on affiche un lien "Nous contacter" qui renvoie vers le formulaire de contact.
Dans ce formulaire, j’arrive à remplir automatiquement le champ "Sujet" avec le nom du bien immobilier et sa situation géo via une TV, en les passant dans la session et en la récupérant avec eForm via le paramètre &sessionVars.
Sauf que, il peut arriver, pour une raison ou pour une autre, que le visiteur consulte plusieurs annonces, visite le site et veuille contacter l’étude mais pour un tout autre sujet que les annonces... Les données étant toujours en session, le sujet est à nouveau automatiquement rempli avec ma session.
La première étape a été, déjà, de supprimer la session à l’envoi du mail. Facile avec &eFormOnMailSent.
Le hic, c’est tant que l’utilisateur n’a pas envoyé son mail, la session est conservée.
Donc, j’ai essayé de faire un plugin (aussi un snippet mais j’ai pas été plus chanceuse), qui me permettrait de définir la valeur que je souhaite passer au formulaire, quand je suis sur le détail d’une annonce, et qui, lorsque je vais sur une autre page, viderait la session.
Mais, ça marche pas
Voici mon dernier test, dans un snippet :
<?php
// Je recupere les infos du doc en cours
$docEnCours = $modx->getDocumentObject('id',$modx->documentIdentifier);
// Si je suis sur le detail d'une annonce
if ($docEnCours['parent'] == '16' || $docEnCours['parent'] == '15' ) {
// Je recupere les infos dont j'ai besoin
$montitre = $docEnCours['pagetitle'];
$location = $docEnCours['quartier'][1];
// Je stocke dans une session pour l'appeler dans le formulaire avec &sessionVars
$_SESSION['quelBien'] = $montitre. ' - ' .$location;
// Si je ne suis pas sur le detail d'une annonce ni sur le formulaire, je reinitialise la session
} elseif ($docEnCours['id'] != '9' ) {
$_SESSION['quelBien'] = '';
}
?>
$_SESSION[’quelBien’] est bien créée sur le détail des annonces puisque j’arrive à l’afficher... mais dès que j’accède au formulaire, le sujet n’est plus rempli, et je ne peux plus afficher $_SESSION[’quelBien’]
Je fais peut-être une erreur de logique quelque part avec || ou &&... ou un truc m’échappe... le php c’est nouveau pour moi ^^ Avis bienvenus !