Puncte:0

Limitați datele disponibile într-un eveniment în care utilizatorul poate înscrie mai multe persoane în mai multe date într-un singur formular

drapel cn
Pin

Contextul problemei

Construiesc un site unde părinții își pot înscrie copiii la o tabără de vară. Părinții pot alege una sau mai multe săptămâni pentru înscrierea unuia sau mai multor copii în același formular.

Există 20 de locuri pentru fiecare săptămână și 8 săptămâni de ales, așa că părinții ar trebui să știe câte locuri sunt disponibile în fiecare săptămână pentru a reuși să-și înscrie copiii (de obicei preferă ca copiii lor să meargă împreună, dar dacă nu este posibil, ar putea semna -creșterea copiilor în săptămâni diferite).

Până acum cea mai bună abordare a mea este:

  • Un singur formular pentru înregistrarea în tabără (Formular web, ce modul(e) grozav)
  • Săptămânile sunt opțiuni într-un element „căsuțe de selectare”, deci este posibilă selecția cu mai multe variante de săptămâni.
  • Duplicați elementul anterior pentru fiecare copil. Am făcut-o de 5 ori, așa că părinții pot înregistra până la 5 copii pe depunere.
  • Apoi am setat un handler „Option/Checkbox Limit” pentru a seta 20 ca limită în fiecare săptămână.
  • Duplicați handlerul anterior pentru fiecare copil (de 5 ori) și asociați-l elementului corespondent „checkboxes”.

Problema cu această abordare este că limitele sunt independente între elemente, așa că în aceeași formă puteți înscrie cinci copii în prima săptămână și 19 locuri sunt încă disponibile în loc de 15 (20-5).

Comentarii:

  • Sunt un constructor de site, nu un dezvoltator, cu un termen limită, așa că renunț pentru a dezvolta un modul.
  • Încerc elementul „compozit personalizat”, dar handlerele nu sunt disponibile pentru el.
  • Modulul „Webform Demo: Event Registration System” are o limită „globală” definită ca un câmp într-un tip de conținut „Demo: Event” controlat de un handler, dar nu îmi dau seama cum să o aplic în acest caz.
Puncte:0
drapel in

Aș face acest lucru cu două tipuri de conținut, mai degrabă decât cu formulare web:

  1. Date slot disponibile
  2. Înscrieri

Dumneavoastră creați conținutul pentru datele de slot disponibile (un nod per interval de dată), părinții creează conținutul de înscriere. Conținutul de înscriere include informațiile de bază de care aveți nevoie pentru contextul de fundal al copilului. După aceea, puteți adăuga un paragraf la acest tip de conținut care le permite părinților să specifice săptămâna pentru care își înscriu copiii. Faceți acest lucru printr-o referință de entitate la conținutul dvs., Slot-Dates disponibile.Avantajul acestui lucru este că paragrafele din formularul de nod/adăugați permit utilizatorului să adauge un alt paragraf (în cazul dvs., acest lucru îi permite să selecteze încă o săptămână și/sau să adauge copii suplimentari, fără a vedea câmpuri suplimentare de formular sau să fie limitat la 5 copii /depunere).

Apoi, puteți urmări care dintre Datele Slot disponibile au fost revendicate creând o regulă care modifică un câmp pentru conținutul Slot-date disponibile la care se face referire de înscrierile create de părinte.

În cele din urmă, puteți afișa numai datele părinților care sunt disponibile creând o vizualizare pentru referința entității. Filtrați pentru datele de slot disponibile care sunt încă disponibile utilizând câmpul indicator de la pasul anterior. Dacă utilizați această vizualizare în câmpul de referință al entității, atunci părinții vor putea selecta doar datele nerevendicate încă.

Pin avatar
drapel cn
Pin
Bună Grayson, o abordare foarte interesantă. Ați putea detalia cum să faceți această regulă?, în special partea „Condiție”. Presupun că regula „Eveniment” este „După salvarea elementului de înregistrare a tipului de conținut” și regula „Acțiune” este „Setați o valoare a datelor” în „Slot-Datele disponibile” la „nu este disponibil”.
Grayson Cooper avatar
drapel in
Asta e! Pentru condițiile: 1) Entitatea are câmp: [nod-created] | Referință de entitate; 2) Entitatea are câmpul: [node-created:entity-reference] | Dată disponibil.Apoi utilizați acțiunea pentru a seta valoarea [node-created:entity-reference:date-available]

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.