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);
Code: Select all
{read_entries max='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}
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}
De FEU/CC functionaliteit hoeft natuurlijk niet worden toegepast, en kan achterwege worden gelaten.