Upplägg för att skapa en tävling

Events happening in the community are now at Drupal community events on www.drupal.org.
Joppen's picture

Hej!

Håller på att skissa på en ganska så stor webbplats för en ideell hundförening. De har tävlingar som man som besökare skall kunna anmäla sin hund till. Dessa tävlingar har ett antal olika klasser, med för varje tävling unika anmälningsavgifter. När anmälningstiden har gått ut så vilja jag kunna ta ut en excel-rapport med de deltagande ekipagen och den information som de har matat in vid anmälan, grupperat på de klasser som tävlingen erbjuder.

Jag har färdig kod för detta i den befintliga hemmaknackade php siten, men vet inte riktigt hur jag skall lösa detta i drupal på bästa sätt?

Min plan är att skapa två innehållstyper: 'tävling' och 'hund'.
Sedan bygger jag en modul som innehåller ett formulär som man som besökare får fylla i. Det består av ett första steg där man får välja en tävling av typen 'tävling' av de som är upplagda men har en sista anmälningsdag som ej gått ut än. Man söker också upp sin hund bland de hundar som finns inlagda med innehållstypen 'hund'. Man får i steg två möjlighet att välja en klass och fylla i sina kontaktuppgifter.

Jag lägger även till ett admin-formulär där man kan generera dessa excel-rapporter för den utställning som man vill ha.

Låter detta som ett okej upplägg eller går det att lösa på ett smartare sätt med befintliga moduler?

Om det är den här vägen jag skall gå så har jag några små frågor kring själva innehållstypen 'tävling'. Varje ny tävling skall ju kunna ha en eller flera klasser som har anmälningsavgifter som skiljer sig mellan tävling och klass. Hur löser man detta på bästa sätt? Ett antal nodreferenser till en nod av typen tävlingsklass?

Tacksam för alla tips och råd!

Mvh Jonas

Comments

Jag använder modulen Webform

PatrickTarzan's picture

Jag använder modulen Webform för att skapa liknande tävlingar, det fungerar jättebra och man kan exportera allt till excel. Kanske inte var precis det svaret du sökte efter, men modulen erbjuder nog allt du behöver.

http://drupal.org/project/webform

Skapa en tävling i drupal

jakeru's picture

För http://www.cwclaxcup.se har jag använt mig av främst två innehållstyper. En som heter Tävling och en som heter Anmälan. Jag har inget speciellt formulär för anmälan utan det är vanliga Drupal-formuläret för att skapa noder som jag använder där.

Med modulen Content Permissions har jag möjlighet att styra vilka fält som skall synas för användare och för administratörer. Det är en nodreferens som används för att veta till vilken tävling som en anmälan hör till. Exempel på ett dolt fält är huruvida anmälan är betald eller inte. Där finns också en egen modul som sköter administrationen kring vilken som är nuvarande tävling och för att hantera e-postutskick och andra inställningar.

För Laxcupen har inte de som anmäler sig något konto. Men en sådan variant skulle man ju också kunna tänka sig. Det skulle ju underlätta för dina besökare att anmäla sina hundar på olika tävlingar om de har ett konto.

Angående Klass där så skulle jag nog själv ha använt mig av ytterligare en innehållstyp och nodreferens för detta precis som du själv tänker dig. Det kan dock vara lite overkill att göra på det här sättet. Det beror lite på hur mycket data som ingår i Klass och hur mycket det skiljer sig åt mellan tävlingarna.

Angående Excel-rapporter har jag inga idéer. Jag har använt Views för att skriva ut alla som är anmälda på en viss tävling där tävlingsarrangörerna får en anmälan per blad och det verkar man nöjd med men det finns säkert något fiffigt sätt att få ut data till Excel.

Lycka till!

/Jakob, JR Teknikkonsult AB

Tack för alla förslag.

Joppen's picture

Tack för alla förslag. Eftersom jag vill ha en del specialgrejer, såsom att automatisk uppsökning av hunden (genom autocomplete) så tror jag nog att jag bygger en modul med ett eget anmälningsformulär (Form). Jag återkommer senare i år med resultatet.

Det känns i vart fall skönt att veta att jag inte missat någon uppenbar modul som skulle ha gjort hela jobbet.

Tack!

//Jonas