LISE koppelen aan Formulier (CGBetterForms)

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

LISE koppelen aan Formulier (CGBetterForms)

Post by brentnl »

Ik heb een module gemaakt met LISE (teamleden, specialisten). Nu heb ik een pagina met een bepaalde behandeling met bijvoorbeeld 2 specialisten (via LISE). Per specialist staat er een knop 'afspraak maken' en ik wil de gekozen specialist doorgeven aan het contactformulier.

Ik maak gebruik van CGBetterForms en dacht de dropdown zelf te kunnen realiseren met;

Code: Select all

  <div class="row">
     <label for="specialist">Specialist:</label>
     <select class="form-control">
     {LISETeam item=$specialist template_summary="dropdownform"}
    </select>
  </div>
Met als summary template;

Code: Select all

<options>Geen Voorkeur</options>
{foreach from=$items item=item}
<options>{$item->title}</options>
{/foreach}
Alleen dat werkt helaas niet. Daarnaast weet ik ook niet hoe ik vanuit het klikken op een link een bepaalde variabele kan doorgeven.

Zag in de help van CGBetterForms wel iets staan over {cgbf_set field=widget_color value='white'}, maar weet niet goed hoe ik dat koppel aan een link.
deactivated010521

Re: LISE koppelen aan Formulier (CGBetterForms)

Post by deactivated010521 »

CGBetterForms kan niet overweg met velden die je via een andere module (LISE) insluit.

Heb dit zelf nooit geprobeerd, maar heb eens in de documentatie gelezen dat je een "hidden" veld kunt aanmaken in CGBetterForms.

Code: Select all

<input type="hidden" name="specialist" value="">
Vervolgens roep je het dynamisch veld (de LISE actie) aan.

"hidden" veld moet dezelfde naam hebben als je select veld.... bijvoorbeeld "specialist"

Code: Select all

<select name="specialist" class="form-control">
{LISETeam item=$specialist template_summary="dropdownform"}
</select> 
Daarnaast weet ik ook niet hoe ik vanuit het klikken op een link een bepaalde variabele kan doorgeven.
Dit kan zonder klikken gewoon de name en value op select / option toepassen.

Code: Select all

<select name="specialist">
<option value="devries">Dr. de vries</option>
<option value="jansen">Dr. jansen</option>
</select>
Weet niet of je ook een moduleID/mact "x8b753" moet meegeven aan de veldnaam?

Kijk hiervoor even naar html source van de {CGBetterForms} aanroep.

Code: Select all

<input type="hidden" name="mact" value="CGBetterForms,x8b753,form,1" />
...... 
<select name="x8b753specialist">
...
</select>

brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

Re: LISE koppelen aan Formulier (CGBetterForms)

Post by brentnl »

arnoud wrote:
...
Daarnaast weet ik ook niet hoe ik vanuit het klikken op een link een bepaalde variabele kan doorgeven.
Dit kan zonder klikken gewoon de name en value op select / option toepassen.

Code: Select all

<select name="specialist">
<option value="devries">Dr. de vries</option>
<option value="jansen">Dr. jansen</option>
</select>
...
Ik bedoelde meer vanaf een andere pagina, zodat er een default value wordt meegegeven aan die dropdown (die mensen zelf nog wel kunnen wijzigen).

De rest van je feedback ga ik proberen. Of kan ik beter FormBuilder gebruiken? Dat kan ook namelijk, die gebruikte ik vroeger altijd , alleen omdat CGBF up2date gehouden wordt en FB al tijden niet geupdate is, leek me dat een betere keuze.
deactivated010521

Re: LISE koppelen aan Formulier (CGBetterForms)

Post by deactivated010521 »

FormBuilder is compatible met cmsms v2 maar styling is met CGBF toch een stuk eenvoudiger.

Als je een "default" value wilt meegeven aan een formulier zou je deze op een of andere manier moeten verwerken in de url of moeten opslaan in een cookie of localstorage.

Variable meegeven aan url:
- via een query string: yourwebsite.com/page?var=defaultvalue
- via een #hash: yourwebsite.com/page#defaultvalue

Op de formulier pagina zou je de opgeslagen of doorgegeven waarde moeten uitlezen en verwerken. Waarschijnlijk met client-side JavaScript hoewel cookies en query strings ook server-side uitgelezen kunnen worden.
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: LISE koppelen aan Formulier (CGBetterForms)

Post by velden »

Ik denk dat je een default waarde zou kunnen doorgeven door te linken naar een LISE DETAIL template en daarin het CGBF formulier te laden.

Dan kun je wellicht zoiets doen als:

Code: Select all

{cgbf_set key='name' value=$entry->title}

Lees ook hier even het antwoord van Robert op mijn 'bug' report : http://dev.cmsmadesimple.org/bug/view/11742
Dat maakt het wellicht iets duidelijker.

Dit formulier https://tinyurl.com/yavwnccr is ook gemaakt met CGBF. De waardes in de eerste twee dropdowns worden er mbv javascript (jQuery) ingezet. Dat is dus ook een mogelijkheid; dan laat je de summary action van LISE een javascript array of object aanmaken die je dan weer kunt gebruiken om later dynamisch de dropdowns te vullen.
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

Re: LISE koppelen aan Formulier (CGBetterForms)

Post by brentnl »

Inmiddels heb ik het werkend!

Code: Select all

{capture assign="specialistdropdown" }{LISETeam template_summary="dropdownform"}{/capture}

{CGBetterForms form="contact"}

 
Dit is m'n code op de pagina, en in mn CGBetterforms template heb ik dit;

Code: Select all

    <div class="row">
     <label for="specialist">Afspraak met:</label>
     <select id="specialist" name="specialist" class="form-control">
    {$specialistdropdown}
    </select>
  </div>
En dat werkt!

Nu zit ik nog met één probleem; ik krijg het niet voor elkaar om de naam/email van de afzender weer te geven bij de admin die het formulier ontvangt. Het reply adres pakt hij wel zoals bedoeld, maar ik wil ook gewoon netjes de naam (of mailadres) van degene die het formulier invult zien als afzender.

Ik gebruik de handler Send an email to fixed addresses, with reply-to as user address

De mails die ik nu ontvang als ik het formulier invul zijn allemaal blanco qua afzender. Onderwerp werkt wel gewoon zoals verwacht.
Post Reply

Return to “Dutch - Nederlands”