SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 290 visiteurs en ce moment

Accueil > Dates, calendriers et agendas > Plugin Agenda > Formulaire de participation à un événement

Formulaire de participation à un événement

23 janvier 2010 – par Cerdic, Jean-Baptiste Pressac, nicod_ – 75 commentaires

17 votes

Cet article tente de rassembler des informations au sujet de l’affichage d’un formulaire de participation aux événements gérés par le plugin Agenda développé par Cédric Morin.

La version 2 du plugin Agenda permet d’afficher dans l’espace public des formulaires de participation aux événements. Cette fonctionnalité est incomplète, mais utilisable.

Voici à quoi ressemble le formulaire sur une page de l’espace public en utilisant les squelettes par défaut de SPIP :

PNG - 18.8 ko
Capture d’écran d’un formulaire de participation à un événement

Les utilisateurs [1] ont la possibilité de répondre j’y serai, j’y serai peut-êre ou je n’y vais pas.

Il est possible de limiter le nombre de places disponibles. Dans ce cas, quand l’événement est complet, les utilisateurs en sont tenus informés par un message et le formulaire n’est plus affiché, sauf pour les utilisateurs connectés ayant déjà répondu j’y serai de manière à leur permettre de se désinscrire et de libérer éventuellement une place.

Si l’utilisateur revient au cours de sa visite sur la page du formulaire, sa réponse reste affichée.

Le plugin ne permet pas encore l’affichage des réponses dans l’espace privé, mais elles peuvent être consultées dans la table spip_evenements_participants en base de données.

Par ailleurs, l’inscription est valable sur toute la durée de l’événement, y compris si l’événement se produit avec des répétitions.

Affichage du formulaire

Le formulaire s’affiche dans un squelette grâce à la balise #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT} [2] à condition qu’elle soit incluse dans une boucle de type EVENEMENTS. Par exemple, dans le squelette article.html, vous pouvez rajouter la boucle suivante pour afficher les événement liés à l’article et les formulaires de participation associés :

<BOUCLE_evenement(EVENEMENTS){id_article}>
        <p>#TITRE</p>
        #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT}
</BOUCLE_evenement>

Notez que la boucle ne doit pas se trouver dans un INCLURE statique, faute de quoi le formulaire ne sera pas rafraîchi à chaque consultation de la page par l’utilisateur. Autrement dit, si au lieu de placer la boucle directement dans article.html, vous souhaitez la placer dans un squelette nommé formulaire-evenement.html, n’utilisez pas [(#INCLURE{fond=formulaire-evenement})] pour appeller ce squelette depuis article.html, mais <INCLURE{fond=formulaire-evenement}> [3].

Par ailleurs, la balise #FORMULAIRE_PARTICIPER_EVENEMENT étant un formulaire CVT (charger, vérifier, traiter), vous pouvez bénéficier du chargement du formulaire en AJAX en encapsulant la balise dans une div de classe ajax.

<div class='ajax'>
#FORMULAIRE_PARTICIPER_EVENEMENT
</div>

L’insertion de la balise #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT} dans vos squelettes ne suffit pas. Pour que le formulaire s’affiche, vous devez cocher la case « inscription en ligne » du formulaire de saisie de l’événement. Vous avez également la possibilité de saisir un nombre de places si celui-ci est limité.

PNG - 44.4 ko
Formulaire de saisie d’un événement avec une inscription en ligne

Sauvegarde des réponses dans la base de données

Les réponses sont stockées en base de données dans la table spip_evenements_participants, créée à l’installation du plugin. Elle comporte les champs suivants :

  • id_evenement
  • id_auteur
  • date
  • reponse
PNG - 22.7 ko
La table spip_evenements_participants dans phpMyAdmin

Le champ reponse peut prendre les valeurs suivantes :

  • ’oui’ (si la réponse est "j’y serai")
  • ’non’ (si la réponse est "je n’y vais pas")
  •  ?’ (si la réponse est "j’y serai peut-être")

La seule façon d’identifier l’auteur d’une réponse est donc id_auteur. Il vaut donc mieux inciter les utilisateurs n’ayant pas de compte de rédacteur ou d’administrateur à créer un compte sur votre site et à se connecter avant de répondre. Cette connexion préalable est d’autant plus nécessaire que dans le cas où un utilisateur ne serait pas connecté, sa réponse serait enregistrée sous l’id_auteur zéro et sa réponse perdue par l’enregistrement de la réponse du prochain utilisateur non connecté.

Pour vérifier si l’utilisateur est connecté, vous pouvez essayer de modifier formulaires_participer_evenement_verifier_dist, en rajoutant après $reponse = _request('reponse'); le test suivant :

if ($GLOBALS['visiteur_session']['id_auteur'] == 0)
$erreurs['reponse'] = "Pour signaler votre participation a l'evenement vous devez etre connecte sur le site. Si vous n'avez pas encore de compte, veuillez en creer un.";

et en remplaçant if (!($reponse=_request(’reponse’)) suivant par elseif (!($reponse=_request(’reponse’)).

Si vous hésitez à autoriser des inconnus à se connecter à votre site, notez que SPIP vous donne la possibilité de créer des auteurs nommés « visiteurs », n’ayant pas accès à l’espace privé. Ce type d’auteur est généralement utilisé pour permettre à des utilisateurs de poster des messages dans des forums après abonnement. Pour autoriser l’inscription des visiteurs, allez dans Configuration > Interactivité > Visiteurs puis cochez la case Accepter l’inscription de visiteurs du site public.

Les balises #FORMULAIRE_INSCRIPTION et #LOGIN_PUBLIC vous permettront d’afficher le formulaire d’inscription et le formulaire permettant à vos utilisateurs de s’identifier tout en restant sur le site public [4]. Vous pouvez afficher la liste des visiteurs dans Auteurs puis en cliquant sur Afficher les visiteurs.

Affichage des inscriptions

Le formulaire d’inscription étant une fonctionnalité en cours de développement du plugin Agenda, il n’est pas encore possible de visualiser les inscriptions dans l’espace privé. Vous pouvez toutefois visualiser le contenu de la table spip_evenements_participants avec un outil comme phpMyAdmin si votre hébergeur l’a mis à votre disposition.

Par contre, il est possible d’afficher dans l’espace public la liste des auteurs inscrits à un événement en rajoutant dans le squelette article.html une boucle du type :

<BOUCLE_evenement(EVENEMENTS){id_article}>
<BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){id_evenement}{par nom}>
#NOM
</BOUCLE_personnes_inscrites>
</BOUCLE_evenement>

La boucle utilise deux fonctionnalités de SPIP :

  • la possibilité d’interroger une table de la base de donnée pour laquelle aucun alias n’a été déclaré (ce qui est le cas actuellement pour la table spip_evenements_participants). Par exemple, l’alias de la table spip_articles est ARTICLES (en majuscules), ce qui permet d’écrire <BOUCLEx(ARTICLES)> au lieu de <BOUCLEx(spip_articles)>.
  • les jointures : la table spip_evenements_participants ne contient pas le nom des auteurs qui se trouve dans la table spip_auteurs, c’est pourquoi la boucle fait appel à ces deux tables pour créer une jointure [5].

Etude du code du formulaire

Pour revenir à la balise #FORMULAIRE_PARTICIPER_EVENEMENT, celle-ci est un formulaire CVT (charger, vérifier, traiter). Vous trouverez donc dans le dossier formulaires à la racine du plugin, le squelette participer_evenement.html et le script participer_evenement.php contenant les fonctions :

  • formulaires_participer_evenement_charger_dist($id_evenement)
  • formulaires_participer_evenement_verifier_dist($id_evenement)
  • formulaires_participer_evenement_traiter_dist($id_evenement)

La fonction formulaires_participer_evenement_charger_dist est exécutée avant l’affichage du formulaire pour vérifier si l’événement passé en paramètre par #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT} existe réellement et qu’une inscription en ligne est bien prévue pour cet événement (la case « Inscription en ligne » est bien cochée dans le formulaire de saisie de l’événement). Si ce n’est pas le cas, le formulaire n’est pas affiché. Sinon, la fonction vérifie si un nombre de places a été défini et le cas échéant, calcule si l’événement est complet ou non. Les réponses ’oui’ ont un poids de 1 et les réponses ’peut-être’ un poids de 0,5. La somme des réponses ’peut-être’ est arrondie à l’entier supérieur. Par exemple, si deux personnes ont répondu ’oui’ et trois personnes ’peut-être’, on considère que (2 x 1) + arrondi(3 x 0,5) = 4 places ont été réservées. Si l’événement est complet, le message "evenement complet" est affiché et le formulaire ne s’affiche que si l’utilisateur (identifié par $GLOBALS['visiteur_session']['id_auteur']) a déjà répondu ’oui’ de manière à lui permettre de se désinscrire et de libérer éventuellement une place.

Si le formulaire est affiché et que l’utilisateur clique sur le bouton d’envoi, la fonction formulaires_participer_evenement_verifier_dist prend le relais pour vérifier que l’utilisateur a bien coché une des propositions, faute de quoi le message "Indiquez votre choix" est affiché. Si l’événement est complet et que l’utilisateur qui avait préalablement répondu ’non’ ou ’peut-être’ change sa réponse pour ’oui’, on affiche le message ’Plus de places’.

Si aucun message d’erreur n’est affiché, les réponses sont traitées par formulaires_participer_evenement_traiter_dist qui met à jour ou insère dans la base de donnée la réponse de l’utilisateur puis affiche un message de confirmation de prise en compte de la réponse.

Notes

[1Nous préférons à « visiteur » le terme d’« utilisateur » pour désigner une personne qui consulte votre site. En effet, dans le jargon de SPIP, un visiteur est un auteur qui peut avoir des droits pour participer à des forums, par exemple, mais qui ne peux pas accéder à l’espace privé et modifier le contenu du site.

[2Attention, il est important d’utiliser la balise #ID_EVENEMENT et non pas le critère {id_evenement}, faute de quoi le code ne sera pas valide.

[3Pour connaitre les différences entre les INCLURE statiques et dynamiques, consultez <INCLURE> d’autres squelettes.

[4Pour en savoir plus sur les formulaires, consultez l’article éponyme sur le site officiel.

[5Pour en savoir plus sur les jointures, voir programmer.spip.org.

Dernière modification de cette page le 30 juin 2014

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 15 mars à 06:15, par Spipmalion En réponse à : Formulaire de participation à un événement

    Bonjour,

    1. <BOUCLE_evenement(EVENEMENTS){id_evenement=2}>
    2. <p>#TITRE</p>
    3. #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT}
    4. </BOUCLE_evenement>

    Télécharger

    N’affiche pas le formulaire de participation à l’événement

    Hors ceci l’affiche (dans une boucle article) :

    1. <BOUCLE_evenement(EVENEMENTS){id_article}>
    2. <p>#TITRE</p>
    3. #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT}
    4. </BOUCLE_evenement>

    Télécharger

    Ai-je manqué quelque chose ?

    • Le 15 mars à 06:34, par Spipmalion En réponse à : Formulaire de participation à un événement

      je ne sais pas comment j’avais fait pour afficher quelque chose, maintenant

      1. #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT}

      n’affiche plus rien dans aucun des cas.

      Bien situé dans une boucle evenements et bien coché « Inscription en ligne ».

      Quelqu’un utilise cette fonctionnalité ?

    • Le 15 mars à 19:49, par formatec En réponse à : Formulaire de participation à un événement

      L’insertion de la balise #FORMULAIRE_PARTICIPER_EVENEMENT#ID_EVENEMENT dans vos squelettes ne suffit pas. Pour que le formulaire s’affiche, vous devez cocher la case « inscription en ligne » du formulaire de saisie de l’événement.

    Répondre à ce message

  • Le 15 novembre 2014 à 18:39, par Agnès En réponse à : Formulaire de participation à un événement

    Bonjour,
    j’ai installé ce formulaire de participation sur mon site de gestion des partitions d’un orchestre. Les membres peuvent s’inscrire à une date de prestation. Ca a bien marché pendant plusieurs mois mais là , depuis qq semaines, j’ai un pb d’affichage lors de la mise à jour.
    Quand on valide un choix (j’y serai, j’y serai peut être ou je n’y serai pas) , l’info est bien affichée sur l’écran dans un 1er temps, mais lorsqu’on passe sur une autre page, puis que l’on revient sur l’événement mis à jour, alors là, on n’a plus l’info !
    Je suis allée vérifier dans la table spip_evenement_participant, et il semble que l’info soit bien mise à jour. De fait, quand on clique sur « Recalculer cette page », la participation apparaît correctement.
    Ce qui me fait dire qu’il s’agirait peut être d’un pb de mémoire cache... mais j’avoue que je sèche un peu sur la solution à appliquer pour résoudre ce pb. A part aller dans la partie privée dans « Maintenance » puis « Vider le cache » (ce qui n’a pas résolu le pb), je ne sais pas quoi faire de plus...
    Est-ce que quelqu’un aurait une idée ?
    Merci de votre aide

    • Le 15 novembre 2014 à 19:07, par nicod_ En réponse à : Formulaire de participation à un événement

      Bonjour,
      pas évident à débusquer sans voir le squelette lui même, mais il y a une notice qui peut expliquer ce problème de non mise à jour, cf vers le début de l’article :
      « Notez que la boucle ne doit pas se trouver dans un INCLURE statique, faute de quoi le formulaire ne sera pas rafraîchi à chaque consultation de la page par l’utilisateur. » et la suite, qui explique comment faire un (dynamique) au lieu d’un #INCLURE (statique).

    Répondre à ce message

  • Le 7 novembre 2011 à 14:00, par Coyote En réponse à : Formulaire de participation à un événement

    Bonjour ,

    Se plugin permet-il de réserver plusieurs places pour un événement (ex le membre du site plus des invités) ?
    si non, en connaissez vous un autre ou comment modifier le plugin actuel ?

    merci

    • Le 20 novembre 2011 à 00:35, par gilcot En réponse à : Formulaire de participation à un événement

      C’est étrange ; je travaille à quelque chose du genre actuellement :) Mais ce ne sera pas sur la zone avant janvier prochain... Mais si le coeur vous en dit, vous pouvez alpha-tester (comme c’est en chantier/dev ça bouge pas mal et je n’offre pas de garantie)

    • Le 29 novembre 2011 à 10:40, par Coyote En réponse à : Formulaire de participation à un événement

      je suis intéressé, quel est le nom de ce dev ???

    • Le 9 septembre 2013 à 23:56, par Frederic Pairot En réponse à : Formulaire de participation à un événement

      Bonjour ce travail a-t-il abouti ? Si oui, le résultat m’intéresse fortement !

      Merci d’avance

    Répondre à ce message

  • Le 2 février 2012 à 12:29, par E-cosystems En réponse à : Formulaire de participation à un événement

    Bonjour,

    Je suis sous Zpip, Spip 2.1.12 et tout passe dans la boucle placée dans squelettes/contenu/article.htm, sauf :

    #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT}

    C’est peut être juste parce c’est pour Spip 2.0 et que la fonction ne fonctionne pas en Spip 2.1.12, mais je tente ma chance ;)

    Bonne journée !

    <B_lesevenements>
    <h3 class="spip">&Eacute;v&egrave;nements associ&eacute;s</h3>
    <BOUCLE_lesevenements(EVENEMENTS) {par date} {id_article}>
     [(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
    le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)]
    [(#HORAIRE|=={oui}|?{
     [(#REM) memes heures ?]
                                            [(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave
    [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
     [(#REM) pas memes heures ?]
                                            [(#DATE_DEBUT|!={#DATE_FIN}|?{de
    [(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] &agrave;
    [(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
    ,''})]
    ,
    du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)]
    [(#HORAIRE|=={oui}|?{&agrave; partir de
    [(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],''})] au
    [(#DATE_FIN|nom_jour)]
    [(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave;
    [(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)],''})]  })]
    <p> #LIEU </p>
    <p> #ADRESSE </p>
    <p> #DESCRIPTIF </p>
    [(#INSCRIPTION|?{' ',''})<p class="inscrits">#NB_INSCRITS[/(#PLACES) ]<:agenda:inscrits:></p>]
    #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT}
     </BOUCLE_lesevenements>
    </B_lesevenements>

    Répondre à ce message

  • Le 7 février 2010 à 14:14, par ? En réponse à : Participation à un événement et répétitions

    Bonjour,

    Le formulaire d’inscription ne semble pas gérer les répétitions à un événement ?

    Comment prendre en charge les répétitions et enregistrer la bonne date pour l’inscription ?

    Merci.
    Florent

    • Le 7 février 2010 à 17:15, par ? En réponse à : Participation à un événement et répétitions

      Bonjour,

      Comment tester si un événement demande une inscription obligatoire ? J’ai essayé différentes solutions avec

      formulaires_participer_evenement_charger_dist

      ...mais sans succès. ( J’aimerais charger le formulaire de login uniquement sur les événements obligatoire lorsque l’internaute n’est pas logué.)

    • Le 7 février 2010 à 19:11, par Jean-Baptiste Pressac En réponse à : Participation à un événement et répétitions

      Bonjour,

      Comme indiqué au début de l’article, la fonctionnalité ne gère pas les répétitions. Mais tu peux toujours en faire la suggestion à Cédric qui a développé le plugin.

    • Le 8 février 2010 à 22:17, par Jean-Baptiste Pressac En réponse à : Participation à un événement et répétitions

      Pour tester si l’utilisateur est connecté, essaye de rajouter dans formulaires_participer_evenement_verifier_dist, après $reponse = _request('reponse'); le test suivant :

      if ($GLOBALS['visiteur_session']['id_auteur'] == 0)
      $erreurs['reponse'] = "Pour signaler votre participation a l'evenement vous devez etre connecte sur le site. Si vous n'avez pas encore de compte, veuillez en creer un.";

      et remplace if (!($reponse=_request(’reponse’)) suivant par elseif (!($reponse=_request(’reponse’)).

    • Le 9 février 2010 à 14:16, par ? En réponse à : Participation à un événement et répétitions

      C’est bien ce petit bout de fonction en plus. On conserve néanmoins un souci ergonomique :

      L’internaute tente de s’inscrire, puis déchu par un message d’erreur, il doit d’une part créer un compte, puis revenir sur la page pour confirmer son inscription à l’événement. Trop tordu pour que celà fonctionne je pense.

      Une forme de surcharge du formulaire d’inscription ne serait-elle pas plus judicieuse ? Le genre « créez un compte et en même temps vous serez inscrit ».

    • Le 9 février 2010 à 17:24, par Jean-Baptiste Pressac En réponse à : Participation à un événement et répétitions

      C’est sûr que la rustine proposée n’est qu’une piste à améliorer. Cependant, quand on regarde d’autres sites comme celui du Sundance Festival, ils ont plutôt tendance à séparer l’inscription au site de l’utilisation de fonctionnalités comme l’ajout de séances de films à un agenda personnel.

      De toutes façons, cet article n’est qu’une contribution à la documentation du plugin. Si tu as des suggestions, tu peux toujours les soumettre aux développeurs sur le forum du plugin.

    • Le 24 novembre 2011 à 06:43, par gilcot En réponse à : Formulaire de participation à un événement

      Je n’avais pas vu que nous avions le même besoinn :) Une mise à jour récente corrige le problème de l’auteur non connecté en invitant gentiment à se connecter pour pouvoir s’inscrire :)
      Je pense aussi que l’inscription doivent rester distinct car servant à des tas d’autre chose. . Par contre, il est tout à fait possible de proposer les champs de connexion/identification (login et mot de passe) lorsque l’auteur n’est pas connecté, mais je pense que c’est une complexité (en gestion comme en affichage) qui n’est pas du ressort du formulaire par défaut (qui doit rester simple et générique et servir de base pour diverses adaptations par mécanisme de surcharge)

      Pour les événements répétés, je pense que ce n’est pas au formulaire de base (qui doit rester générique et simple) de s’en occuper (mais aux surcharges perso ou de plugin). En effet, les répétitions ne forment pas toujours une suite (par exemple une formation sur plusieurs jours) mais souvent bien des répétitions au sens premier (par exemple un spectacle sur plusieurs dates), et on peut choisir de s’inscrire indépendamment pour une date ou une autre :/ (dans le cas du spectacle par exemple, on choisit une —ou plusieurs— date—s— mais on n’est pas contraint à toutes les représentations...)

    Répondre à ce message

  • Le 3 avril 2010 à 12:03, par Daf En réponse à : Formulaire de participation à un événement

    Bonjour,

    D’après mes recherches, on ne peut pas limiter l’affichage du formulaire d’inscription à une date limite d’inscription à un évènement. Comment peut on mettre cette solution en place ?
    Est ce prevu pour une version future ?
    merci et bravo pour le travail accompli !

    • Le 27 avril 2011 à 00:32, par Artlogic En réponse à : Formulaire de participation à un événement

      Je résous simplement ce problème en indiquant par un texte : Clôture des inscriptions en date du : .... On peut aussi ajouter une boucle qui fait disparaitre le formulaire à date du début -10.

      <BOUCLE_evenements(EVENEMENTS?){id_article}{statut=publie}{par date_fin}{age_debut<=10}> (non testé mais quelque chose dans ce goût.)[(#FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT})]</BOUCLE_evenements>
      Pas d'inscription possible pour cet événement. <//B_evenements>
    • Le 24 novembre 2011 à 06:16, par gilcot En réponse à : Formulaire de participation à un événement

      Le formulaire ne s’affichait pas s’il n’y a pas d’inscription en ligne. Avec la dernière mise à jour, elle ne s’affiche pas non plus quand l’événement est passé (avant cela c’était le cas si les inscriptions sont permises et du coup on pouvait s’inscrire à des événements passés....) Pour ce faire, c’est la date de fin qui est testée car sur des événements durant plusieurs jours certains organismes acceptent des inscriptions en cours... (dites à la dernière minute) C’est vrai qu’un paramétrage plus poussé (par exemple 10 jours avant la fin) serait bienvenu :/ En attendant la solution de Artlogic fait l’affaire (sauf le message « Pas d’inscription possible pour cet événement. » qui n’est pas utile à mon avis et en tout cas rompt la cohérence)

    Répondre à ce message

  • Le 1er novembre 2011 à 10:18, par bcolo En réponse à : Formulaire de participation à un événement

    Bonjour

    Je déplace ce message posté par erreur sur la page du plugin Agenda.

    J’utilise le plugin agenda et notamment la fonction qui permet de s’inscrire en ligne. Sur ce point, il y a deux choses qui ne vont pas :
    -  quand on s’est inscrit à un événement, la phrase « votre participation est enregistrée » s’affiche". Mais si on recharge la page plus tard, cette phrase n’apparaît plus, alors que ce serait bien qu’elle s’affiche dès lors que l’auteur identifié est déjà inscrit.
    -  l’ordre d’affichage des événements soumis à inscriptions, quand il y en a plusieurs pour le même article, n’est pas clair : ainsi j’ai cinq événements sur un article, avec cinq dates différentes, et ils apparaissent dans le désordre : le 9:12, le 18/11, le 3/12, le 28/10 et le 25/11. Comment faire pour qu’ils apparaissent dans l’ordre chronologique (le plus ancien d’abord) ?

    Merci d’avance

    • Le 20 novembre 2011 à 00:41, par gilcot En réponse à : Formulaire de participation à un événement

      Ah... :) j’avais répondu là-bàs en commençant par dire de venir ici La discussion se poursuit ici alors :)

    • Le 20 novembre 2011 à 09:46, par bcolo En réponse à : Formulaire de participation à un événement

      J’ai testé votre solution, à savoir modifier la boucle événement, celle qui se trouve dans le dossier contenu et dans le squelette page-agenda.html (si c’est bien celle-là), comme ceci :

      1. <BOUCLE_ev(EVENEMENTS){!par date_debut}{!evenement_passe #ENV{date_debut,#ENV{date}}}{!evenement_a_venir #ENV{date_debut,#ENV{date}}|agenda_moisdecal{1,'Y-m-d H:i:00'}}{id_article?}{id_rubrique?}{id_mot?}{id_evenement_source?}>

      En enlevant la balise par date_debut et en la remplaçant par  !par date_debut.

      Je n’ai noté aucun changement. Les dates des événements sont toujours affichées dans le désordre.

      Pourriez-vous me dire si c’est bien cette boucle événement qu’il fallait modifier ?

    • Le 20 novembre 2011 à 10:37, par gilcot En réponse à : Formulaire de participation à un événement

      Je ne saurai hélas pas dire comme ça... Si dans le corps de cette boucle il y a #FORMULAIRE_PARTICIPER_EVENEMENT
      Je peux essayer de jeter un coup d’oeil, mais je ne sais pas quelle version du plugin regarder (si ce squelette est bien fourni avec)

    • Le 23 novembre 2011 à 21:08, par bcolo En réponse à : Formulaire de participation à un événement

      Je viens d’installer la révision 54757 du 21 novembre d’Agenda 2.0.

      Je n’arrive pas à trouver dans quel squelette le tri des événements se fait. En testant, par défaut ils s’affichent dans l’ordre de création, les dates des événements ne sont pas prises en compte. J’ai essayer de feinter en attribuant un numéro de tri au titre de chaque événement, mais ça ne change rien...

      Dans le dossier formulaires du plugin, j’ai bien trouvé un squelette participer_evenement.html, mais ça ne gère l’affichage que d’un seul événement, pas de plusieurs...

    • Le 23 novembre 2011 à 21:19, par bcolo En réponse à : Formulaire de participation à un événement

      J’ai trouvé, enfin !
      C’était tellement simple que je n’y avais pas pensé.
      La boucle à modifier se trouve tout simplement dans le squelette article.html (dans zpip, c’est dans le dossier Contenu) :

      <BOUCLE_evenement(EVENEMENTS){id_article}{par date_debut}>
             <p>#TITRE</p>
             #FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT}
      </BOUCLE_evenement>

      Il faut donc ajouter {par date_debut} pour trier dans l’ordre chronologique ou {! par date_debut} dans l’ordre inverse.

    • Le 24 novembre 2011 à 05:48, par gilcot En réponse à : Formulaire de participation à un événement

      ah, il s’agissait d’un squelette zpip (comme je disais, je ne pouvais pas le deviner ; mais le soucis est résolu une fois qu’on a trouvé la bonne boucle..) Content que ce soit résolu :)

    Répondre à ce message

  • Le 24 janvier 2010 à 21:46, par Jean-Baptiste Pressac En réponse à : Formulaire de participation à un événement

    Pour afficher les participants, la boucle suivante semble fonctionner :

    <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){par nom}>
            #NOM
    </BOUCLE_personnes_inscrites>
    • Le 25 janvier 2010 à 01:23, par DD En réponse à : Formulaire de participation à un événement

      Bonjour,

      Je confirme : ça fonctionne très bien aussi avec inscription2 pour les champs supplémentaires :

      <BOUCLE_auteurs(spip_auteurs spip_evenements_participants spip_auteurs_elargis){par nom}{id_evenement}>
           #REPONSE #NOM_FAMILLE #PRENOM #PROFESSION #SOCIETE #TELEPHONE #EMAIL
      </BOUCLE_auteurs>

      dd

    • Le 25 janvier 2010 à 21:49, par ? En réponse à : Formulaire de participation à un événement

      <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){par nom}>
             #NOM
      </BOUCLE_personnes_inscrites>

      Cette boucle me retourne tous les auteurs du site sans qu’il y ai besoin d’être inscrit. Il doit y avoir un petit os.

    • Le 25 janvier 2010 à 22:11, par ? En réponse à : Formulaire de participation à un événement

      Oups, je me suis trompé, il manque le critère {id_evenement} à la boucle personnes_inscrites. Voici la boucle corrigée :

      <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){par nom}{id_evenement}> #NOM </BOUCLE_personnes_inscrites>
    • Le 25 janvier 2010 à 22:16, par Jean-Baptiste Pressac En réponse à : Formulaire de participation à un événement

      Oui, je me suis trompé dans mon exemple, il manque le critère {id_evenement} à la boucle personnes_inscrites. Voici la boucle corrigée :

      <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){par nom}{id_evenement}>
      #NOM
      </BOUCLE_personnes_inscrites>
    • Le 26 janvier 2010 à 02:34, par ? En réponse à : Formulaire de participation à un événement

      Huuuu ça m’affiche ceux qui ont répondu, mais pas particulièrement ceux qui ont répondu par la positive. Les noms de ceux qui ont répondu par la négative sont aussi affichés. Y a t-il un moyen d’afficher les réponses « oui peut-être ou non » à coté du nom ?

    • Le 26 janvier 2010 à 11:14, par ? En réponse à : Formulaire de participation à un événement

      Heu si j’ajoute #reponse peut être ? Je ne sais pas trop si l’on peut utiliser un morceau d’une table non déclaré de la sorte.

    • Le 28 janvier 2010 à 18:37, par Jean-Baptiste Pressac En réponse à : Formulaire de participation à un événement

      Oui, tu peux afficher tous les champs de la table en utilisant des balises de même nom que le champ à condition que la balise soit écrite en majuscules (ton idée d’utiliser #REPONSE est donc la bonne, à la majuscule près).

      Tu peux aussi utiliser les champs comme critère de la boucle. Donc normalement le critère {reponse='oui'} devrait fonctionner.

    • Le 21 février 2011 à 18:48, par Johan En réponse à : Formulaire de participation à un événement

      Merci pour cette contribution.

      J’ai ajouté avant <BOUCLE_personnes_inscrites...>

      <B_personnes_inscrites>
      <p>#TOTAL_BOUCLE inscrit(s) (#PLACES places disponibles)</p>

      afin d’afficher la disponibilité restante.

      D’ailleurs (mon code n’est pas encore en prod), quand le nombre de place est atteint, le formulaire sera-t-il automatiquement masqué ?

      Johan

    • Le 22 février 2011 à 23:04, par Jean-Baptiste Pressac En réponse à : Formulaire de participation à un événement

      Je ne saurais te répondre, ce n’est pas moi qui ai développé le plugin ;-)

    • Le 24 février 2011 à 18:12, par Johan En réponse à : Formulaire de participation à un événement

      Je viens de tester et regarder le code :
      Quand le nombre de place est atteint on n’a plus le formulaire sauf si on a dit « J’y serai » (ou « j’y serai peut-être »).

      c’est nickel !

      Je complète mon message précédent pour affiner le message :

      <B_personnes_inscrites>
      #TOTAL_BOUCLE inscrit(s).
      Soit <strong>[(#PLACES|moins{#TOTAL_BOUCLE})]</strong> place(s) restante(s) sur #PLACES places disponibles.
    • Le 27 avril 2011 à 00:21, par Artlogic En réponse à : Formulaire de participation à un événement

      J’ajoute « un peu » de code pour plus de précision encore.

      <BOUCLE_autorise_evenement(EVENEMENTS?){id_evenement}>

      <ul class="grande_liste">
      <B_personnes_inscrites><li>
      [(#TOTAL_BOUCLE) [(#TOTAL_BOUCLE|=={1}|?{personne inscrite,personnes inscrites}).]]
      [(#PLACES|moins{#TOTAL_BOUCLE}|=={1}|oui) Dépéchez-vous : Il ne reste plus qu'une derni&egrave;re place !]
      [(#PLACES|moins{#TOTAL_BOUCLE}|<={0}|oui) Pour cette date, les #PLACES places sont pourvues.]
      [(#PLACES|moins{#TOTAL_BOUCLE}|>{1}|oui) Il reste [(#PLACES|moins{#TOTAL_BOUCLE})] possibilit&eacute;s sur un total de #PLACES places.]</li>
      <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){par nom}{id_evenement}{'/ '}{reponse='oui'}>
      [(#SESSION{statut}|=={0minirezo}|oui)<a href="#URL_ECRIRE{edit_adherent,id=#ID_AUTEUR}">#NOM</a>]
      </BOUCLE_personnes_inscrites>: "J'y serai." [(#AUTORISER{modifier,id_evenement,#ID_EVENEMENT})<a href="#URL_ECRIRE{agenda_inscriptions,id_evenement=#ID_EVENEMENT}">Modifier les inscriptions</a>]</li>
      </B_personnes_inscrites>
      [<li>(#PLACES|>={1}|oui) Les #PLACES places sont encore disponibles. Inscrivez-vous !</li>]
      <//B_personnes_inscrites>


      <B_personnes_inscrites2><li>
      <BOUCLE_personnes_inscrites2(spip_auteurs spip_evenements_participants){par nom}{id_evenement}{'/ '}{reponse='?'}>
      [(#SESSION{statut}|=={0minirezo}|oui)<a href="#URL_ECRIRE{edit_adherent,id=#ID_AUTEUR}">#NOM</a>]
      </BOUCLE_personnes_inscrites2>: "J'y serai peut-&ecirc;tre." [(#AUTORISER{modifier,id_evenement,#ID_EVENEMENT})<a href="#URL_ECRIRE{agenda_inscriptions,id_evenement=#ID_EVENEMENT}">Modifier les inscriptions</a>]</li>
      </B_personnes_inscrites2>

      <B_personnes_inscrites3><li>
      <BOUCLE_personnes_inscrites3(spip_auteurs spip_evenements_participants){par nom}{id_evenement}{'/ '}{reponse='non'}>
      [<li>(#SESSION{statut}|=={0minirezo}|oui)<a href="#URL_ECRIRE{edit_adherent,id=#ID_AUTEUR}">#NOM</a>]
      </BOUCLE_personnes_inscrites3>: "Je n'y serai pas." [(#AUTORISER{modifier,id_evenement,#ID_EVENEMENT})<a href="#URL_ECRIRE{agenda_inscriptions,id_evenement=#ID_EVENEMENT}">Modifier les inscriptions</a>]</li>
      </B_personnes_inscrites3>

      [<div class='ajax'>(#SESSION{statut}|match{1comite|0minirezo|6forum}|oui)
      [(#FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT})]</div>]
      </ul>
      </BOUCLE_autorise_evenement>
    • Le 12 août 2011 à 20:05, par mirobolus En réponse à : Formulaire de participation à un événement

      J’ai une petite question : comment adapter ce superbe code pour n’afficher que la réponse effectuée par le visiteur connecté (et non la liste des participants comme ici) ? Exemple : « Bonjour #NOM, vous avez répondu #REPONSE. Vous pouvez modifier votre choix à l’aide du formulaire ci-dessous »

      J’ai essayé avec ceci :

      <B_personnes_inscrites>
       <li>
      [(#TOTAL_BOUCLE) [(#TOTAL_BOUCLE|=={1}|?{personne inscrite,personnes inscrites}).]]<br />
      [(#PLACES|moins{#TOTAL_BOUCLE}|=={1}|oui) Dépéchez-vous : Il ne reste plus qu'une derni&egrave;re place !]
      [(#PLACES|moins{#TOTAL_BOUCLE}|<={0}|oui) Pour cette date, les #PLACES places sont pourvues.]
      [(#PLACES|moins{#TOTAL_BOUCLE}|>{1}|oui) Il reste [(#PLACES|moins{#TOTAL_BOUCLE})] places disponibles sur un total de #PLACES places.]

      <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){id_auteur = #SESSION{id_auteur}}{id_evenement}{'- '}{reponse='oui'}>
      [(#SESSION{statut}|=={0minirezo}|oui)Bonjour <a href="#URL_ECRIRE{edit_adherent,id=#ID_AUTEUR}" class="txtVert">#NOM</a>, vous avez r&eacute;pondu : "J'y serai".<br /> Vous pouvez modifier votre réponse à l'aide du formulaire ci-dessous.]
      </BOUCLE_personnes_inscrites>
      </li>
      </B_personnes_inscrites>
      <//B_personnes_inscrites>

      Çà marche bien (ma phrase s’affiche bien avec tout ce que je veux dedans), sauf que cela influe sur le total des réponses calculé au début : ainsi, si je ne suis pas connectée, un total de 20 places / 20 dispo est affiché ; si je suis connectée, il n’y a que ma réponse qui est comptabilisée.
      Je tourne en rond... et çà m’énerve. Merci pour votre aide ;-)

    • Le 13 août 2011 à 10:02, par johanp En réponse à : Formulaire de participation à un événement

      Bonjour,

      Il faut sans doute faire deux boucles imbriquées. Le calcul des places restantes se faisant sur une boucle (spip_auteurs spip_evenements_participants)id_evenement’- ’reponse=’oui’

      (sans id_auteur = #SESSIONid_auteur)

    • Le 13 août 2011 à 10:04, par johanp En réponse à : Formulaire de participation à un événement

      Avec les balise de code c’’est mieux :

      Il faut sans doute faire deux boucles imbriquées. Le calcul des places restantes se faisant sur une boucle (spip_auteurs spip_evenements_participants){id_evenement}{'- '}{reponse='oui'}  

      (sans id_auteur = #SESSION{id_auteur})

    • Le 23 novembre 2011 à 21:44, par bcolo En réponse à : Formulaire de participation à un événement

      Ce code a l’air parfait pour ce que je cherche, il me manque juste un petit détail qui a son importance :

      dans quel squelette met-on ce code ? Dans article.html ? Dans un squelette du dossier formulaire d’Agenda 2.0 ? Dans un autre ?

      Merci d’avance.

    • Le 23 novembre 2011 à 22:08, par mirobolus En réponse à : Formulaire de participation à un événement

      Pour ma part, j’ai une rubrique n°27 consacrée à l’agenda de la commune. Chaque événement étant rattaché à un article, le code est inséré dans le squelette article renommé pour l’occasion article-27.html.

    Répondre à ce message

  • Le 16 août 2011 à 18:26, par mirobolus En réponse à : Formulaire de participation à un événement

    J’ai réussi à faire ce que je voulais, à savoir :
    -  pour tous les visiteurs, identifiés ou non sur le site : on affiche le nombre de places retenues/dispos
    -  si le visiteur de la page n’est pas connecté, une invitation à se connecter ou à s’inscrire
    -  si le visiteur est connecté, on lui propose le formulaire d’inscription à l’événement + le lien pour se déconnecter.
    (et s’il a déjà répondu au formulaire, on lui rappelle sa réponse pour qu’il la modifie s’il le souhaite)
    -  si le visiteur est en plus l’administrateur, on lui en donne plus : le lien pour gérer les inscriptions dans l’espace privé.

    Je ne voulais pas afficher la liste des inscrits et leur réponse mais comme ces boucles sont indispensables pour le calcul des places, j’ai rusé en laissant leur contenu mais en l’écrivant si petit et en blanc sur blanc pour que cela ne soit pas visible. Mais çà marche aussi parfaitement avec le code d’Artlogic..

    Par contre, comme la balise #REPONSE renvoie des valeurs peu parlantes, j’ai fait une moulinette pour rendre les réponses plus claires.

    Voilà donc ce que çà donne (mais il y a sûrement des maladresses) :

    <BOUCLE_autorise_evenement(EVENEMENTS?){id_article}>

    <div id="calendar" class="txtGris">
    <ul class="grande_liste">

    <B_personnes_inscrites>
    [(#TOTAL_BOUCLE) [(#TOTAL_BOUCLE|=={1}|?{personne inscrite,personnes inscrites}).]]<br />
    [(#PLACES|moins{#TOTAL_BOUCLE}|=={1}|oui) Dépéchez-vous : Il ne reste plus qu'une derni&egrave;re place !]
    [(#PLACES|moins{#TOTAL_BOUCLE}|<={0}|oui) Pour cette date, les #PLACES places sont pourvues.]
    [(#PLACES|moins{#TOTAL_BOUCLE}|>{1}|oui) Il reste [(#PLACES|moins{#TOTAL_BOUCLE})] places disponibles sur un total de #PLACES places.]

    <br /><br clear="all" />

    <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){id_evenement}{reponse='oui'}>
    <li class="invisible">[#NOM]</li>
    </BOUCLE_personnes_inscrites>

     [(#AUTORISER{modifier,id_evenement,#ID_EVENEMENT})<a href="#URL_ECRIRE{agenda_inscriptions,id_evenement=#ID_EVENEMENT}"><span class="txtVert">En tant qu'administrateur</span> : Vous êtes autorisé à modifier les inscriptions</a>]
    </B_personnes_inscrites>

     Il n'y a pas d'inscription ouverte pour cet événement.
    <//B_personnes_inscrites>


    <B_personnes_inscrites2>
    <BOUCLE_personnes_inscrites2(spip_auteurs spip_evenements_participants){id_evenement}{reponse='?'}>
    <li class="invisible">[#NOM]</li>
    </BOUCLE_personnes_inscrites2>
    </B_personnes_inscrites2>

    <B_personnes_inscrites3>
    <BOUCLE_personnes_inscrites3(spip_auteurs spip_evenements_participants){id_evenement}{reponse='non'}>
    <li class="invisible">[#NOM]</li>
    </BOUCLE_personnes_inscrites3>
    </B_personnes_inscrites3>

    <li>
    [(#REM) ***************Si un visiteur est connecté*************** ]
    [(#REM) ****afficher sa réponse s'il a déjà répondu**** ]  

    <BOUCLE_reponse(spip_auteurs spip_evenements_participants){id_auteur = #SESSION{id_auteur}}{id_evenement}>
            Bonjour <a href="#URL_ECRIRE{edit_adherent,id=#ID_AUTEUR}" class="txtVert">#NOM</a>, vous avez r&eacute;pondu :
            <span class="txtVert">
            [(#REPONSE|=={oui}|?{'J&prime;y serai',''})]
            [(#REPONSE|=={?}|?{'J&prime;y serai peut-&ecirc;tre',''})]
            [(#REPONSE|=={non}|?{'Je n&prime;y serai pas',''})]
            </span><br />

            [(#REM) ****Lui dire qu'il peut modifier sa réponse**** ]
            Vous pouvez modifier votre réponse à l'aide du formulaire ci-dessous.<br /><br clear="all" />
    </BOUCLE_reponse>

    [<div class='ajax'>
    (#SESSION{statut}|match{1comite|0minirezo|6forum}|oui)
    [(#REM) ****Afficher le formulaire d'inscription, qu'il ait déjà répondu ou pas**** ]
    [(#FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT})]<br />

    [(#REM) ****Lien déconnection**** ]
    [(#SESSION{id_auteur}|?{' '})| <a href="#URL_LOGOUT" rel="nofollow"><:icone_deconnecter:></a>]
    </div>]

    [(#REM) ***************Si le visiteur n'est pas connecté*************** ]
    [<div class='ajax'>
    (#SESSION{statut}|match{1comite|0minirezo|6forum}|non)

    [(#REM) ****Lui dire qu'il doit s'authentifier ou s'inscrire sur le site**** ]
    Pour vous inscrire à cet événement, vous devez vous connecter ou vous inscrire sur notre site.<br />
    [(#SESSION{id_auteur}|?{'',' '})| <a href="[(#URL_PAGE{login}|parametre_url{url,#SELF})]" rel="nofollow" class='login_modal'><:lien_connecter:></a><br />
    | <a href="[(#URL_PAGE{inscription}|parametre_url{url,#SELF})]" rel="nofollow" class='login_modal'>S'inscrire</a>]
    </div>]

    </li> </ul> </div>
    </BOUCLE_autorise_evenement>
    • Le 16 août 2011 à 22:59, par Jean-Baptiste Pressac En réponse à : Formulaire de participation à un événement

      Merci pour cette contribution.

    • Le 17 août 2011 à 10:43, par mirobolus En réponse à : Formulaire de participation à un événement

      De rien ;-) ... surtout que mon message « Il n’y a pas d’inscription ouverte pour cet événement. » est mal placé : il faudrait peut-être que je le place dans participer_evenement.php (vers la ligne 13), mais mes compétences en php sont trop faibles...

    • Le 26 octobre 2011 à 07:49, par gilcot En réponse à : Formulaire de participation à un événement

      Merci pour cette contribution intéressante.

      Je ne voulais pas afficher la liste des inscrits et leur réponse mais comme ces boucles sont indispensables pour le calcul des places, j’ai rusé en laissant leur contenu mais en l’écrivant si petit et en blanc sur blanc pour que cela ne soit pas visible. Mais çà marche aussi parfaitement avec le code d’Artlogic..

      Soit... Mais n’est-il pas plus simple de ne rien afficher du tout alors ?
      Donc remplacer

      <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){id_evenement}{reponse='oui'}>
      <li class="invisible">[#NOM]</li>
      </BOUCLE_personnes_inscrites>

      par plutôt

      <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){id_evenement}{reponse='oui'}>
      </BOUCLE_personnes_inscrites>

      qui pourrait même s’écrire encore plus facilement (je crois à partir de SPIP 2.0, mais je n’ai pas testé avant de le proposer) : <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){id_evenement}{reponse='oui'} />

    • Le 26 octobre 2011 à 08:14, par gilcot En réponse à : Formulaire de participation à un événement

      J’oubliais... :

      1. Les boucles _personnes_inscrites2 et _personnes_inscrites3 n’étant pas utilisées ici, on peut simplement les virer : ça ne fera pas de différence dans la page, mais allègera le code (fichier moins long et plus facile à relire/maintenir) et le traitement (pas de requêtes pénalisantes car inutiles)
      2. Je ne sais plus où je l’avais vu en regardant les fichiers du plugin, mais il y a la balise calculée #NB_INSCRITS —dans une boucle (EVENEMENTS) et— qui remplace bien [(#PLACES|moins{#TOTAL_BOUCLE})] (et du coup, plus besoin d’une boucle sur la table auxiliaire pour obtenir l’information... Finalement, il se pourrait que la « noisette » d’Artlogic —permettant de lister les réponses/participants— ne serve pas ici...)
      3. Pour ce qui est d’afficher sa réponse s’il a déjà répondu, je pense qu’il faut plutôt modifier le formulaire de réponse pour que sa réponse soit déjà cochée/sélectionnée (et comme on affiche un formulaire modifiable, il peut changer sa réponse et on fait d’une pierre deux coups en étant plus simple au niveau de l’interface)
    • Le 26 octobre 2011 à 08:20, par mirobolus En réponse à : Formulaire de participation à un événement

      Très juste ! la ligne <li class="invisible">[#NOM]</li> est inutile. J’aurais dû essayer !!
      Par contre, je viens de tester la syntaxe suivante <BOUCLE_personnes_inscrites(spip_auteurs spip_evenements_participants){id_evenement}{reponse='oui'} ></BOUCLE_personnes_inscrites> et elle ne fonctionne pas.

      J’ajoute que pour le message « Il n’y a pas d’inscription ouverte pour cet événement », je l’ai placé en tout début, avant la boucle <B_personnes_inscrites>

      Çà donne :

      <ul class="grande_liste">
      <li>
      [(#PLACES|<={0}|oui) Pas d'inscription ouverte pour cet &eacute;v&eacute;nement.]
      </li>
      <li>
      <B_personnes_inscrites>(...)

      Enfin, je conserve pour ma part uniquement les réponses « j’y serai » et « je n’y serai pas », j’ai donc viré tout ce qui concerne le « peut-être » qui m’est inutile.

      Je vais regarder tes autres pistes (notamment la balise #NB_INSCRITS ! ce serait une belle découverte !! Merci à toi ;-)

    • Le 26 octobre 2011 à 08:42, par mirobolus En réponse à : Formulaire de participation à un événement

      Pour ton point n°3, je me retrouve confrontée à un pb que je mets toujours une plombe à résoudre : comment envoyer au formulaire participer_evenement à la fois #ID_EVENEMENT et #REPONSE...
      Car le formulaire est déjà prêt pour çà :
      <input type='radio' class='radio' name='reponse' id='reponse_oui' value="oui"[ (#ENV{reponse}|=={oui}|oui)checked="checked"] />

      Il est appelé actuellement ainsi :
      (#FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT})
      Est-ce que çà, c’est admis ?
      (#FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT,#REPONSE})

    • Le 26 octobre 2011 à 11:38, par gilcot En réponse à : Formulaire de participation à un événement

      Attention à ne pas confondre « l’ouverture des inscriptions en ligne » avec le nombre de places disponibles. Le premier (cela correspond à la case à cocher « Inscription en ligne » juste avant d’indiquer le nombre de places ...si elles sont limitées) est utilisé par le formulaire pour déterminer s’il doit s’afficher ou pas (on peut bien renseigner le nombre de places sans pour autant que le formulaire ne s’affiche parce-qu’on n’a pas autorisé/activé les inscriptions en ligne)
      Si on tient à répéter/préciser cette information, le test devra #INSCRIPTION à la place de #PLACES|<={0}. Et dans ce cas, ceci est affiché quand le formulaire ne s’affiche pas (déplacer donc ces lignes en conséquence)

      Pour l’appel du formulaire, on peut lui passer des paramètres : la syntaxte est la même que pour les modèles (section : « Un emploi possible dans les squelettes »)... ; donc : [(#FORMULAIRE_PARTICIPER_EVENEMENT{id_evenement=#ID_EVENEMENT}{reponse=#REPONSE})] ou [(#FORMULAIRE_PARTICIPER_EVENEMENT{id_evenement=#ID_EVENEMENT,reponse=#REPONSE})] devrait fonctionner (à condition de le placer dans la boucle "_reponse(spip_evenements_participants)" (sinon on ne peut pas lui passer la valeur de #RETOUR...)
      Mais, cela ne fonctionne hélas pas car le formulaire ne prend pas en compte les autres paramètres (d’ailleurs, il devrait récupérer la réponse sans intervention dans sa fonction Charger, mais ce n’est pas le cas...) Pire, lorsqu’on valide une réponse, on a bien le message qu’elle a été prise en compte, mais elle n’est pas sélectionnée dans le formulaire... ce qui montre qu’il y a un problème intrinsèque —ou un bogue ?)

    • Le 26 octobre 2011 à 12:34, par mirobolus En réponse à : Formulaire de participation à un événement

      Oui, il doit y avoir un pb : quelle que soit la syntaxe que j’utilise dans tes propositions pour appeler le formulaire (et en ayant effectivement déplacé l’appel du formulaire dans la boucle _reponse), le formulaire disparait totalement. Et la valeur de réponse ne passe pas au formulaire.

      [(#FORMULAIRE_PARTICIPER_EVENEMENT{id_evenement=#ID_EVENEMENT}{reponse=#REPONSE})]
      [(#FORMULAIRE_PARTICIPER_EVENEMENT{id_evenement=#ID_EVENEMENT,reponse=#REPONSE})]

      ne marchent pas.

      Par contre, avec cette syntaxe, le formulaire reste affiché :
      [(#FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT,#REPONSE})]

      Bien vu pour mon test sur les places !! c’est effectivement sur #INSCRIPTION que çà doit se jouer ! Pff...

    • Le 27 octobre 2011 à 13:52, par gilcot En réponse à : Formulaire de participation à un événement

      En regardant le <tt-..php associé, je constate que le paramètre s’appelle id et non id_evenement ; mais ni [(#FORMULAIRE_PARTICIPER_EVENEMENT{id=#ID_EVENEMENT}{reponse=#REPONSE})] ni [(#FORMULAIRE_PARTICIPER_EVENEMENT{id=#ID_EVENEMENT,reponse=#REPONSE})] ne fonctionnent non plus... Quant à [(#FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT,#REPONSE})] c’est exactement pareil que [(#FORMULAIRE_PARTICIPER_EVENEMENT{#ID_EVENEMENT})] : seul le premier argument (id_evenement) est pris en compte (à juste titre car le forulaire n’a pas à être chargé avec une réponse prédéterminée...), ce qui confirme la non prise en compte des autres paramètres...

      le formulaire ne prend pas en compte les autres paramètres (d’ailleurs, il devrait récupérer la réponse sans intervention dans sa fonction Charger, mais ce n’est pas le cas...) Pire, lorsqu’on valide une réponse, on a bien le message qu’elle a été prise en compte, mais elle n’est pas sélectionnée dans le formulaire... ce qui montre qu’il y a un problème intrinsèque —ou un bogue ?)

      J’ai regardé de plus près (ou plutôt avec l’esprit plus clair) la fonction de chargement ce matin. Verdict : il n’y a pas de bogue (dans le sens où ce n’est pas une erreur de programmation et que ça fait bien ce qui est prévu) mais il y a quand même un bogue (dans le sens d’un problème de logique de conception) : la réponse est récupérée seulement dans le cas de traitement des places limitées....
      Correction en route...

    • Le 27 octobre 2011 à 19:30, par mirobolus En réponse à : Formulaire de participation à un événement

      Voui... et bien, après moultes essais, je n’arrive pas non plus à passer le paramètre Réponse. Et pourtant, j’ai déjà été confrontée à çà dernièrement. J’avoue que je ne vois pas de piste, je te laisse donc parcourir ta route ;-) Merci... au fait...

    • Le 27 octobre 2011 à 19:49, par gilcot En réponse à : Formulaire de participation à un événement

      Comme je le disais, il ne devrait pas être nécessaire de passer la réponse au formulaire (qui n’a besoin que de la valeur de l’id_evenement) ; et le souci est maintenant corrigé (dans le dernier zip)

    • Le 27 octobre 2011 à 20:01, par mirobolus En réponse à : Formulaire de participation à un événement

      Merveilleux !! Je teste ce soir ! Youpi !

    • Le 16 novembre 2011 à 15:51, par mirobolus En réponse à : Formulaire de participation à un événement

      Juste un petit mot, gilcot, pour confirmer que ta modif dans participer_evenement.php a fonctionné ! Plus besoin d’un long discours pour indiquer la réponse pré-enregistrée.
      Merciiii !!

    • Le 20 novembre 2011 à 00:30, par gilcot En réponse à : Formulaire de participation à un événement

      Cerise sur le gâteau en modifiant le HTML ainsi : <input type="submit" class="submit" value="[(#ENV{reponse}|?{<:bouton_modifier:>,<:bouton_enregistrer:>})]" />
      (je ne commite pas cela parce-que je n’ai pas testé encore tous les cas particulierrs)

    • Le 20 novembre 2011 à 12:49, par mirobolus En réponse à : Formulaire de participation à un événement

      Çà marche pour moi, merci pour cet ajout !

    Répondre à ce message

  • Le 24 octobre 2011 à 09:39, par mirobolus En réponse à : Formulaire de participation à un événement

    Bonjour,
    Je reviens avec une nouvelle question : étant donné que le plugin ne permet pas de suivre les inscriptions en partie privée, peut-on imaginer l’envoi d’un mail à un destinataire à chaque enregistrement dans ce formulaire ? Comment procéder ?
    Un grand merci !!

    • Le 25 octobre 2011 à 19:10, par gilcot En réponse à : Formulaire de participation à un événement

      ceci est possible dans la partie traitement du formulaire (le fichier php) mais :

      • ce sera un email en dur (on peut ruser en récupérer celui d’un auteur ou celui du webmestre du site si c’est indiqué, ce qui offre déjà plus de souplesse)
      • on peut suivre les inscriptions en créant une page dédiée (ou mieux un modèle ?) listant les inscrits tout simplement.
    • Le 25 octobre 2011 à 21:01, par mirobolus En réponse à : Formulaire de participation à un événement

      Merci pour ces pistes. Ce code mérite d’être développé à mon sens. J’essaierai d’y contribuer dans la limite de mes compétences, et de mon temps aussi.
      Merci gilcot

    • Le 25 octobre 2011 à 22:17, par gilcot En réponse à : Formulaire de participation à un événement

      oui et non...  :-) Le plugin essaye d’être à la fois générique et simple, or tout le monde n’a pas le besoin du mail de notification (perso, j’aimerais pas remplir ma boîte de vingt à trente message juste parce-que les gens s’inscrivent... mais par contre la seconde option me plait mieux : pouvoir sortir une liste de présence/appel le jour J...)
      Comme c’est un plugin pour SPIP 2.0 et suivants, il peut se permettre de faire le minimum à ce niveau pour rester simple : aux plugins/webmestres de surcharger le formulaire donné en exemple ou de créer les leurs selon les besoins.

      Mais s’il y a des améliorations que les uns et les autres peuvent apporter, elles sont bienvenue : cette fonctionnalité était expérimentale (je crois l’avoir lu quelque part dans la doc) d’où ce goût parfois d’inachevé. Mais le principal est là à mon avis (la table des participants, déjà déclarée par le plugin et qui ne demande qu’à être exploité)

    • Le 25 octobre 2011 à 22:51, par mirobolus En réponse à : Formulaire de participation à un événement

      Exact : je crois que même pour moi, c’est plus judicieux de proposer la consultation de la liste des inscrits à un instant T, histoire de relancer un coup de pub sur l’événement par exemple, et à la date de fermeture des inscriptions.
      A réfléchir. Et si je fais un truc propre, je le montrerai ici.
      Ciao ;-)

    • Le 26 octobre 2011 à 08:18, par gilcot En réponse à : Formulaire de participation à un événement

      Pour la liste des inscrits, c’est ce que traite la discussion initiée le 24 janvier 2010 :)

    • Le 26 octobre 2011 à 08:48, par mirobolus En réponse à : Formulaire de participation à un événement

      Oui, mais je ne souhaitais pas la voir s’afficher en partie publique. Un simple lien vers la page en admin (nomdusite/ecrire/ ?exec=agenda_inscriptions&id_evenement=X) me suffit : on y retrouve un tableau avec les inscrits (avec date et réponse), on peut créer un csv et supprimer les inscrits.
      Dans mon code, çà se passe ici :
      [(#AUTORISER{modifier,id_evenement,#ID_EVENEMENT})<a href="#URL_ECRIRE{agenda_inscriptions,id_evenement=#ID_EVENEMENT}"><span class="txtVert">En tant qu'administrateur</span> : Vous êtes autorisé à modifier les inscriptions</a>]

      Le truc à améliorer en partie privée serait donc d’accéder à cette zone de gestion des inscrits plus facilement, sans passer par ce lien alambiqué où on doit renseigner le n° de l’événement. Car sauf erreur de ma part, actuellement, il n’y a pas d’entrée dédiée en privé.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Adaptive Images

    15 novembre 2013 – 69 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Social tags

    8 septembre 2008 – 428 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Module de Paiement Stripe

    17 octobre – commentaires

    Stripe est un prestataire de paiement externe https://stripe.com/fr qui propose une API moderne et une interface de paiement extrêmement conviviale et efficace. Ce module permet les paiements à l’acte et les paiement récurrents. Configuration (...)

Ça spipe par là