Forum CMS Made Simple FR

Version complète : [Résolu] cgcalendar et reservation
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.6
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~
#~
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



bonjour,

petite question peut - on dans les evenements de cgcalendar ajouter un formulaire de reservation pour cette evenements ? Si oui comment ?

merci d'avance
Avec formbuilder tu peux faire un formulaire que tu insères dans ton template d'affichage d'évènement.
Tu paramètres ce formulaire pour qu'il t'envoie un mail pour te signaler la réservation et de son coté le client, reçois un mail pour confirmation de réservation avec le récap de sa résa.

c'est un peu simpliste mais ça peut fonctionner.
Bonne idee avec formbuilder mais encore une ou deux petites questions :

1. j'ai besoin de savoir combien de personnes ont reservés et si les réservations sont "cochés" comme complète par l'administrateur ne plus en acceptés d'autres, j'ai vu que le module EventsManager le faisait mais problème pour faire le lien entre cgcalendar et celui-ci ( de plus impossible de réserver avec ce module ... il dit tjs vous n'etes pas autoriser à réserver ! coté client ) dommage c'était exactement ce qu'il me fallait.

2.comment faire le lien entre entre l'événement qui à été choisi et le formulaire qui apparaitra dans le template d'affichage
exemple : je choisi une date ( le 08/08/13 ) puis le résultat affiche "évènements truc..." puis en dessous le formulaire pour réserver.
Comment prendre les données de l'évènement choisi puis les envoyer dans le formulaire ?


J'espère avoir été le plus clair possible, merci
Pour ta première question, moi je ferais un truc du genre:

-créer un champs personnalisé "complet" dans cgcalendar si le champs est vide on affiche le formulaire sinon, une phrase type "réservations complètes".
-céer une balise utilisateur que tu appelles à la soumission du formulaire qui va incrémenter le nombre de réservations dans une table de ta base de donnée, en fonction des données du formulaire.

ou alors en automatisant tout, c'est à dire que dans le champs personnalisé tu entres le nombre de places dispos.
une balise utilisateur qui va chercher le nombre de résa déjà prise, si y'en a.
tu compares les 2 et si il reste de la place, tu affiches le formulaire et le nombre de places dispos sinon ta phrase type.
a l'envoi du formulaire tu incrémentes le nombre de résa en fonction du formulaire avec une petit vérif en jquery que le nombre de réservation à prendre ne soit pas supérieur au nombre de places restantes.

Pour la seconde question

tu peux passer des variables à ton formulaire pour le pré-remplir (voir aide formbuilder) il te suffit de mettre en champs caché le nom et la date de l'évent par exemple ou en champs texte statique si tu veux afficher le nom de l'évent par exemple.
merci pour ta réponse clair et rapide

je test ça et je te tiens au courant
re,


alors j'ai tester ce que tu m'a dit donc j'essaye de recuperer le nbe de resa avec une balise creer dont une partie du code est :


Code :
[== PHP ==]

$p = 'test date'; /*** titre de l'event **********/

$sql = 'SELECT count(*) AS index_key_1 FROM `'.cms_db_prefix().'module_fb_formbrowser` where index_key_1 = "$p" ';

/*** requete sql pour compter le nb de resa pour cet event **********/


seulement quand j'essaie d'afficher le nb il y a un pb avec la variable $p alors que si je remplace where index_key_1 = "$p" par where index_key_1 = "test date" cela fonctionne ????? surement trois fois rien


A tu une idée ?
where index_key_1 = '$p'';
tu dois sortir $p de la string en ajoutant une simple quote avant et après la variable, pas une double Wink
pas mieux! Smile

Si juste une chose là tu comptes le nombre d'entrées correspondant à un évent en cherchant grâce au titre de ce dernier.

si par exemple, 5 personnes réservent pour 3 personnes chacunes:
le résultat doit donner 15
est-ce que tu vas vas pas avoir 5 plutôt comme résultat?
merci pour vos réponses, j'ai réussi à faire ce que je voulais mais encore une dernière question voici le code :


Code :
[== PHP ==]
while ($row = $dbretour->FetchRow())
{

echo <<<REQUETE

if ($nb_de_places >= {$row['index_key_1']})
{

$form
}

else {blablabla}

REQUETE;
}


j'utililse une boucle pour afficher le formulaire seulement le echo m'affiche aussi dans la page le if. J'ai essayer de le mettre dans le if mais ça provoque une erreur.


une idée ?
pas besoin de heredoc là... je suis même pas sûr que tu puisse mettre du php entre 2 balises heredoc, que des variables déclarées au préalable.

donc comme ça, ça devrait fonctionner:

Code :
[== PHP ==]
while ($row = $dbretour->FetchRow()){

   if($nb_de_places >= {$row['index_key_1']}){

      $form
   }

   else {
      echo "blablabla";
   }

}


Tiens le lien d'un post pour insérer un module dans une udt... je pense que tu sais faire mais, on sait jamais
C'est bon tout fonctionne parfaitement

Merci du coup de main

A bientôt
De rien!
bonne continuation... Wink