Page 1 of 1
[opgelost] Titels van Products-module in Formulier
Posted: Wed Mar 21, 2012 7:02 pm
by timdebuurman
Hoi,
Ik zou graag de ingevoerde Titels in de module Products automatisch terug laten komen in een drop-down-list in het contactformulier,
maar weet niet zo goed hoe ik dat aan zal pakken.
CMSMS 1.10.3
Products 2.16.2
Voor het formulier heb ik niet de Formbuilder gebruikt, maar gewoon zelf een form gemaakt, die door een php-script word afgehandeld.
Alvast bedankt voor het meedenken/oplossen.
Re: Titels van Products-module als drop-down-list in Formuli
Posted: Wed Mar 21, 2012 11:18 pm
by Jos
timdebuurman wrote:Voor het formulier heb ik niet de Formbuilder gebruikt
Jammer... in FormBuilder zit juist een mooie functie om een moduletag in te voegen t.b.v. een dropdown veld

Re: Titels van Products-module als drop-down-list in Formuli
Posted: Thu Mar 22, 2012 6:43 am
by timdebuurman
Zou het dan ook makkelijker zijn om de titels van de producten als opties erin te zetten?
De drop-down-list zelf is in het 'gewone' formulier niet zo'n probleem, dat zal er zo uit zien:
<select name="producten">
<option value="product1">Product1</option>
<option value="product2">Product2</option>
</select>
Om de producttitels erin te krijgen, zal het (denk ik ) zoiets moeten worden:
<select name="producten">
{foreach $product->value}
<option value="{$product->$title}">{$product->$title}</option>
{/foreach}
</select>
Iemand die me op de goede weg kan helpen?
Re: Titels van Products-module als drop-down-list in Formuli
Posted: Fri Mar 23, 2012 1:46 pm
by timdebuurman
Hoi,
Ik heb het formulier nu gemaakt in Formbuilder.
Met een keuzelijst.
In plaats van handmatig een toegevoegd product in deze lijst te zetten, zou ik graag willen dat het automatisch gaat.
Wie kan/wil me hiermee helpen?
Re: Titels van Products-module als drop-down-list in Formuli
Posted: Fri Mar 23, 2012 2:17 pm
by Jos
In je formulier maak je een nieuw veld aan van het type "Module Interface Veld"
Je krijgt dan een toelichting met de volgende tekst:
Gebruik Module Interface:
This field is used as a gateway to other modules! Use it by creating your form elements in the templates of the other module(s) you wish to incorporate, and using the
{$FBid} to tie it back to FormBuilder. For example, to include form options based on the Products module, create the following template in Products:
Code: Select all
{foreach from=$items item=entry}
{assign var=MData value=''}
{assign var=Cd value=''}
{foreach from=$FBvalue item=MData}
{assign var=MData value='::'|explode:$MData}
{if $MData[1]==$entry->id}
{assign var=Cd value=' checked="checked"'}
{/if}
{/foreach}
<div class="ProductDirectoryItem">
<input type="checkbox" value="{$entry->price}::{$entry->id}" name="{$FBid}[]" {$Cd} />{$entry->product_name} ({$entry->weight}{$weight_units}) £{$entry->price}
</div>
{/foreach}
where in the input below you put something like
{Products category="cat" summarytemplate="Your_FB_template"}
Eronder kun je bij het label "Uw tag toevoegen:" precies jouw benodigde module-aanroep invullen
Re: Titels van Products-module als drop-down-list in Formuli
Posted: Fri Mar 23, 2012 4:30 pm
by timdebuurman
Sorry, maar het is me niet echt duidelijk waar ik nu welke code in moet voeren.
Het "Module Interface veld" lijkt er eigenlijk voor te zijn om een stukje formulier bij de producten te plaatsen.
Dat hoeft bij mij niet.
Zou je me willen uitleggen wat ik waar moet plaatsen om de menutitels in de keuzelijst te krijgen?
Re: Titels van Products-module als drop-down-list in Formuli
Posted: Fri Mar 23, 2012 4:47 pm
by Jos
timdebuurman wrote:Het "Module Interface veld" lijkt er eigenlijk voor te zijn om een stukje formulier bij de producten te plaatsen.
Nee het is precies andersom: In products maak je een summarytemplate waar het dropdownveld gemaakt wordt. Die roep je vervolgens in FormBuilder aan.
Je hebt in je 2e post hier zelf al een goede voorzet gegeven

Ik ken de Products module niet, maar op basis van het voorbeeld wat in FormBuilder stond, zal de summarytemplate in Products er ongeveer zo uitzien:
Code: Select all
<select name="{$FBid}">
{foreach from=$items item=entry}
{assign var=MData value=''}
{assign var=Cd value=''}
{foreach from=$FBvalue item=MData}
{if $MData == $entry->product_name}
{assign var=Cd value=' checked="checked"'}
{/if}
{/foreach}
<option value="{$entry->product_name}"{$Cd}>{$entry->product_name}</option>
{/foreach}
</select>
In het "Module Interface veld" vul je dan in: {Products summarytemplate='jouwdropdowntemplate'}
Re: Titels van Products-module als drop-down-list in Formuli
Posted: Fri Mar 23, 2012 9:31 pm
by timdebuurman
Super bedankt Jos! Het werkt perfect!
Formbuilder genereert nu niet zelf het label, die heb ik dus ook in de nieuwe summarytemplate in de Products module gezet.
Ook heb ik een eerste keuze gemaakt, voor als iemand geen keuze maakt en die gelijk te zien is, in dit geval 'Algemene vraag/opmerking' maar meestal zal dit zijn 'Maak uw keuze' oid.
De code is dan:
Code: Select all
<label>Reden van contact</label>
<select name="{$FBid}">
<option value="algemeen">Algemene vraag/opmerking</option>
{foreach from=$items item=entry}
{assign var=MData value=''}
{assign var=Cd value=''}
{foreach from=$FBvalue item=MData}
{if $MData == $entry->product_name}
{assign var=Cd value=' checked="checked"'}
{/if}
{/foreach}
<option value="{$entry->product_name}"{$Cd}>{$entry->product_name}</option>
{/foreach}
</select>
Ik heb gelijk voor mezelf de stappen genoteerd voor een evt. volgende keer dat ik zoiets als dit nodig heb.
Ik denk ook zeker dat anderen hier veel aan kunnen hebben...misschien weer iets voor de T&T?