Page 1 of 1

Eenvoudig aanmeldsysteem voor evenementen

Posted: Tue Aug 31, 2010 4:41 pm
by Rolf
Door middel van de modules Formbuilder en Formbrowser kun je op de website eenvoudig een aanmeldsysteem maken voor verschillende evenementen.
Je gebruikt Formbuilder voor het aanmeldingsformulier en met Formbrowser wordt alle informatie opgeslagen in de database. Vanuit de database kan het geëxporteerd worden naar bijv. Excel.
Ook kan de bezoeker eerst worden verplicht om een account te maken via de SelfRegistration module in FrontEndUsers.

Hier beperk ik me tot de extra functionaliteit om de modules heen!
De UDT kan voor meerdere evenementen tegelijkertijd worden gebruikt.

Maak een Gebruikersgedefinieerde Tag (UDT) read_entries

Code: Select all

// Maximum excepted entries
$entries_max = ($params[max]);

// Read entries in FormBrowser
$list = cmsms()->GetSmarty()->get_template_vars('list');
$entries = count($list);

// Complex Mathematical Calculation :o)
$entries_left = $entries_max - $entries;

// Passing the parameters to the template
$smarty = cmsms()->GetSmarty();
$smarty->assign('entries_max', $entries_max);
$smarty->assign('entries', $entries);
$smarty->assign('entries_left', $entries_left);
De UDT kun je in de pagina's aanroepen als

Code: Select all

{read_entries max='10'}
De parameter max kan gebruikt worden om het maximum aantal aanmeldingen te begrenzen. In dit geval dus 10.

Met de UDT kun je deze tags in de pagina gebruiken.
{$entries} = Totaal aantal aanmeldingen in de database
{$entries_left} = Aantal aanmeldingen die nog gedaan kunnen worden
{$entries_max} = Het maximum aantal toelaatbare aanmeldingen
Gebruik hiervoor geen WYSIWYG editor, deze moet blijvend worden uitgeschakeld in de Opties tab van de pagina.

Op de pagina kan het als volgt worden gebruikt:

Code: Select all

{if $ccuser->loggedin()}
       <p>Welkom {$ccuser->property('Naam')}</p>
       {cms_module module='FormBrowser' browser='evenement_1'}
       {read_entries max='7'}

       {if $entries_left < 1}
               <p>De inschrijving is gesloten.</p>
       {else}
               <p>Er zijn al {$entries} plaatsen gereserveerd.<br />
               Er zijn nu nog {$entries_left} van {$entries_max} plaatsen beschikbaar.</p>
               {FormBuilder form='formulier_evenement_1'}
       {/if}
{else}
       <h3>Informatie Pagina Evenement 1</h3>
       <p>U bent niet ingelogd als gebruiker<br />
       Om voor dit evenement te kunnen inschrijven moet u eerst inloggen</p>
       {cms_module module="Frontendusers"}  
{/if}
En op een volgende pagina:

Code: Select all

{if $ccuser->loggedin()}
       <p>Welkom {$ccuser->property('Naam')}</p>
       {cms_module module='FormBrowser' browser='evenement_2'}
       {read_entries max='5'}

       {if $entries_left < 1}
               <p>De inschrijving is gesloten.</p>
       {else}
               <p>Er zijn al {$entries} plaatsen gereserveerd.<br />
               Er zijn nu nog {$entries_left} van {$entries_max} plaatsen beschikbaar.</p>
              {FormBuilder form='formulier_evenement_2'}
       {/if}
{else}
       <h3>Informatie Pagina Evenement 2</h3>
       <p>U bent niet ingelogd als gebruiker<br />
       Om voor dit evenement te kunnen inschrijven moet u eerst inloggen</p>
       {cms_module module="Frontendusers"}  
{/if}
Getoonde voorbeelden kun je naar eigen wens aanpassen.
De FEU/CC functionaliteit hoeft natuurlijk niet worden toegepast, en kan achterwege worden gelaten.

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Tue Aug 31, 2010 5:04 pm
by pedes
bedankt Rolf

werkt perfect !

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Fri Sep 10, 2010 2:59 pm
by My.WEBDESIGNER
Lukt dit ook zonder de lijst met deelnemers weer te geven?

Update:
Heb het nu in een div met style display:none gezet + edit link uit de template gezwierd. dus zo lukt het wel.

Thx

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Fri Sep 10, 2010 6:43 pm
by Rolf
My.WEBDESIGNER wrote: Lukt dit ook zonder de lijst met deelnemers weer te geven?
In de configuratie kun je velden aan en uit zetten. Hiermee kun je de velden wel zien in de admin, maar niet op de frontend van de website.
My.WEBDESIGNER wrote: Update:
Heb het nu in een div met style display:none gezet + edit link uit de template gezwierd. dus zo lukt het wel.
Een nadeel hiervan is dat de informatie wel in de brontekst van de pagina staat, en dus ook door Google gevonden zal worden...

Grt. Rolf

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Fri Sep 17, 2010 12:13 pm
by My.WEBDESIGNER
Rolf wrote: In de configuratie kun je velden aan en uit zetten. Hiermee kun je de velden wel zien in de admin, maar niet op de frontend van de website.
Heb ik gedaan, maar dan gaf hij nog steeds een edit link dus die heb ik verwijderd in front list template.
Rolf wrote: Een nadeel hiervan is dat de informatie wel in de brontekst van de pagina staat, en dus ook door Google gevonden zal worden...
het enige dat google nu vind is een tabel met data. niet erg
Is trouwens voor een event site die niet lang online zal staan.

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Fri Sep 17, 2010 1:30 pm
by Rolf
Rolf wrote: Een nadeel hiervan is dat de informatie wel in de brontekst van de pagina staat, en dus ook door Google gevonden zal worden...
My.WEBDESIGNER wrote: het enige dat google nu vind is een tabel met data. niet erg
Is trouwens voor een event site die niet lang online zal staan.
Maar wel goed te weten voor andere bezoekers van dit artikel...  ;)

En het werkt dus verder voor jouw website goed?

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Mon Oct 18, 2010 9:22 am
by My.WEBDESIGNER
Ja, werkt perfect.

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Mon Nov 29, 2010 9:15 am
by brentnl
Eigenlijk is dit precies wat ik zoek, al wil ik dit voor verschillende evenementen gebruiken (het liefst op 1 pagina). Daarvoor zullen verschillende formulieren gemaakt worden ..

Is het mogelijk om dit makkelijk te maken voor een klant? Oftewel, het aantal stappen verkleinen om een nieuw formulier aan te maken? Nu moet bovenstaande code aangepast worden bij een extra evenement, moet formbrowser aangepast worden én formbuilder.

Dat is niet haalbaar om uit te leggen aan een gemiddelde klant helaas; de ideale situatie zou zijn als de klant enkel hoeft aan te geven welke evenementen beschikbaar zijn en dat het systeem (via een udt of sjabloon ofzo) de benodigde dingen aanmaakt.

EDIT:: misschien met CTL Module Maker met een bepaald sjabloon gekoppeld? Al zou ik niet weten hoe ik dat sjabloon dan zou moeten maken....

Verder is het max entries verhaaltje niet van toepassing voor mij, deze heb ik nu maar op 100 gezet, maar kan ook geheel verwijderd worden als dat problemen op zou leveren met meerdere evenementen.

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Mon Nov 29, 2010 10:03 am
by Rolf
brentnl wrote: Eigenlijk is dit precies wat ik zoek, al wil ik dit voor verschillende evenementen gebruiken (het liefst op 1 pagina). Daarvoor zullen verschillende formulieren gemaakt worden ..

Is het mogelijk om dit makkelijk te maken voor een klant? Oftewel, het aantal stappen verkleinen om een nieuw formulier aan te maken? Nu moet bovenstaande code aangepast worden bij een extra evenement, moet formbrowser aangepast worden én formbuilder.
Het is - zoals de titel al aangeeft - een eenvoudig aanmeldsysteem. Met dus functionele beperkingen...
Doordat je met verschillende modules werkt en met UDT die geen admin pagina heeft, zie ik het zo nog niet zitten om dit voor een leek eenvoudig te maken...
Maar niets is onmogelijk, alleen er moet iemand zijn die dit verder uitwerkt... En op dit moment ben ik dit niet :D Wellicht kan een een oproep in het forumboard voor betaalde hulp een uitweg zijn.
brentnl wrote: Verder is het max entries verhaaltje niet van toepassing voor mij, deze heb ik nu maar op 100 gezet, maar kan ook geheel verwijderd worden als dat problemen op zou leveren met meerdere evenementen.
Dit is een optionele parameter, hoef je dus niet te gebruiken.

grt. Rolf

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Mon Nov 29, 2010 10:16 am
by brentnl
Rolf wrote: Het is - zoals de titel al aangeeft - een eenvoudig aanmeldsysteem. Met dus functionele beperkingen...
Doordat je met verschillende modules werkt en met UDT die geen admin pagina heeft, zie ik het zo nog niet zitten om dit voor een leek eenvoudig te maken...
Maar niets is onmogelijk, alleen er moet iemand zijn die dit verder uitwerkt... En op dit moment ben ik dit niet :D Wellicht kan een een oproep in het forumboard voor betaalde hulp een uitweg zijn.
Betaald is helaas geen optie omdat het om een stage opdracht gaat. De oproep op het forum heb ik (verkapt) al geplaatst, ook op het Engelse gedeelte, maar heb nog geen reactie mogen ontvangen.

De code van formbuilder, is daar de code van om te zetten als sjabloon? Waarbij je de een paar variabelen in laat vullen door ctl module maker, dan is het formulier maken al geautomatiseerd.
Oh wacht, dat gaat niet, want dan is de verbinding met formbrowser verbroken...

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Mon Nov 29, 2010 12:10 pm
by brentnl
En hoe geef je de username van een ingelogde FEU gebruiker mee aan formbrowser zonder dat een persoon zelf zijn naam in hoeft te vullen? een statisch tekst veld met {$username} bracht geen uitkomst...

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Sun Oct 23, 2011 3:17 pm
by Rolf
Gebruikersgedefinieerde Tag (UDT) read_entries geschikt voor 1.10+

Code: Select all

// Maximum excepted entries
$entries_max = ($params[max]);

// Read entries in FormBrowser
$gCms = cmsms();
//$list = $gCms->smarty->get_template_vars('list');
$list = cmsms()->GetSmarty()->get_template_vars('list');
$entries = count($list);

// Complex Mathematical Calculation :o)
$entries_left = $entries_max - $entries;

// Passing the parameters to the template
$smarty = &$gCms->GetSmarty();
$smarty->assign('entries_max', $entries_max);
$smarty->assign('entries', $entries);
$smarty->assign('entries_left', $entries_left);

Re: Eenvoudig aanmeldsysteem voor evenementen

Posted: Mon Oct 24, 2011 7:16 am
by deactivated010521
----------