Eenvoudig aanmeldsysteem voor evenementen

Een board om T&T's te plaatsen m.b.t. CMSMS, PHP of Smarty

Moderator: velden

Locked
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Eenvoudig aanmeldsysteem voor evenementen

Post 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.
Last edited by Rolf on Mon Oct 25, 2010 5:31 pm, edited 1 time in total.
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
pedes
Power Poster
Power Poster
Posts: 840
Joined: Tue Jan 27, 2009 11:47 am

Re: Eenvoudig aanmeldsysteem voor evenementen

Post by pedes »

bedankt Rolf

werkt perfect !
My.WEBDESIGNER
Forum Members
Forum Members
Posts: 64
Joined: Sat Jun 20, 2009 3:28 pm

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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
Last edited by Anonymous on Fri Sep 10, 2010 3:12 pm, edited 1 time in total.
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
My.WEBDESIGNER
Forum Members
Forum Members
Posts: 64
Joined: Sat Jun 20, 2009 3:28 pm

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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.
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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?
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
My.WEBDESIGNER
Forum Members
Forum Members
Posts: 64
Joined: Sat Jun 20, 2009 3:28 pm

Re: Eenvoudig aanmeldsysteem voor evenementen

Post by My.WEBDESIGNER »

Ja, werkt perfect.
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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.
Last edited by brentnl on Mon Nov 29, 2010 9:24 am, edited 1 time in total.
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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...
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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...
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Eenvoudig aanmeldsysteem voor evenementen

Post 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);
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
deactivated010521

Re: Eenvoudig aanmeldsysteem voor evenementen

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 5:51 pm, edited 1 time in total.
Locked

Return to “Tips en Trucs”