formbuilder veld berekening probleem.. bug?
Moderator: velden
formbuilder veld berekening probleem.. bug?
Ik gebruik in FormBuilder het veld Berekeningstype.
Echter heeft Formbuilder precies een probleem als er een komma in een getal staat.
Vb. als ik volgende velden laat vermenigvuldigen met het eindgetal 58,37 dan lukt dat niet. Ik moet dus 58.37 (met punt ipv komma) gebruiken.
$fld_47*$fld_48*58.37
Echter Formbuilder zelf zet deze uitkomst met een komma, waardoor ik die waarde niet meer kan gebruiken om verder mee te rekenen (waardes van de veldjes samen tellen).
Iemand een idee hoe ik dit oplos?
Ik dacht al met smarty replace, waar ik dus de komma vervang door een punt, maar dit werkt niet in het berekeningsveld.
Mvg,
Peter
Echter heeft Formbuilder precies een probleem als er een komma in een getal staat.
Vb. als ik volgende velden laat vermenigvuldigen met het eindgetal 58,37 dan lukt dat niet. Ik moet dus 58.37 (met punt ipv komma) gebruiken.
$fld_47*$fld_48*58.37
Echter Formbuilder zelf zet deze uitkomst met een komma, waardoor ik die waarde niet meer kan gebruiken om verder mee te rekenen (waardes van de veldjes samen tellen).
Iemand een idee hoe ik dit oplos?
Ik dacht al met smarty replace, waar ik dus de komma vervang door een punt, maar dit werkt niet in het berekeningsveld.
Mvg,
Peter
Re: formbuilder veld berekening probleem.. bug?
Je zult zoiets moeten doen:
Code: Select all
{$foo = $fld_47*$fld_48*58.37}
{$foo|replace:'.':','}
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: formbuilder veld berekening probleem.. bug?
Dag Rolf,
Waar zet ik dit dan?
Ik heb vb.
In het 1ste berekenings veld, maar dit geeft een berekeningsfout.
Het moet blijkbaar effectief
zijn om te rekenen.
Ik heb dus 5 berekeningsvelden op dezelfde manier als hierboven.
Deze 5 worden dan op het einde samengeteld.
Maar doordat elke uitkomst van ieder berekeningsveld tevoorschijn komt met een komma, kan ik deze met het eindberekeningsveld niet meer samentellen, geeft een berekeningsfout.
Mvg,
Peter
Waar zet ik dit dan?
Ik heb vb.
Code: Select all
{$foo = $fld_47*$fld_48*58.37}
In het 1ste berekenings veld, maar dit geeft een berekeningsfout.
Het moet blijkbaar effectief
Code: Select all
$fld_47*$fld_48*58.37
zijn om te rekenen.
Ik heb dus 5 berekeningsvelden op dezelfde manier als hierboven.
Deze 5 worden dan op het einde samengeteld.
Maar doordat elke uitkomst van ieder berekeningsveld tevoorschijn komt met een komma, kan ik deze met het eindberekeningsveld niet meer samentellen, geeft een berekeningsfout.
Mvg,
Peter
Re: formbuilder veld berekening probleem.. bug?
meh oké, iets te snel gereageerd. Even de module erbij gepakt
Dit zet je in het berekeningsveld: $fld_47*$fld_48*58.37
Maar speel even met de waarde van "Interpreteer variabelen als nummers of strings".
Lijkt me als je "strings" instelt dat je wel |replace kan gebruiken(?)
Dit zet je in het berekeningsveld: $fld_47*$fld_48*58.37
Maar speel even met de waarde van "Interpreteer variabelen als nummers of strings".
Lijkt me als je "strings" instelt dat je wel |replace kan gebruiken(?)
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: formbuilder veld berekening probleem.. bug?
Trouwens, je kunt de berekening natuurlijk ook in het mail sjabloon doen. Dan werk je buiten de module om en gebruik je alleen Smarty inclusief alle beschikbare mogelijkheden. Wellicht in dit geval een betere oplossing
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: formbuilder veld berekening probleem.. bug?
Dank U rolf voor het meedenken
Ik heb het nog niet geprobeerd met de string in combinatie met smarty replace, ik ga dit dit weekend even checken.
Zo wil ik eigenlijk de ingelogde FEU gebruiker zijn verzendingen oplijsten vanuit die LISE lijst.
Als ik de berekening doe in het mailsjabloon dan kan die berekening wellicht niet via de UDT in de LISE lijst vallen.
Het is echt super FEU, Formbuilder en LISE te samen.
Ik worstel enkel met die eindberekening in Formbuilder en ook nog de mail naar de ingelogde FEU gebruiker, zie: eerder post
Mvg,
Peter
Ik heb het nog niet geprobeerd met de string in combinatie met smarty replace, ik ga dit dit weekend even checken.
Ik kan inderdaad de eindberekening doen in het mail sjabloon, maar ik neem de waarden ook mee naar een LISE lijst via een UDT (wat zeer handig is om dan weer te gebruiken in FEU).Rolf wrote:Trouwens, je kunt de berekening natuurlijk ook in het mail sjabloon doen. Dan werk je buiten de module om en gebruik je alleen Smarty inclusief alle beschikbare mogelijkheden. Wellicht in dit geval een betere oplossing
Zo wil ik eigenlijk de ingelogde FEU gebruiker zijn verzendingen oplijsten vanuit die LISE lijst.
Als ik de berekening doe in het mailsjabloon dan kan die berekening wellicht niet via de UDT in de LISE lijst vallen.
Het is echt super FEU, Formbuilder en LISE te samen.
Ik worstel enkel met die eindberekening in Formbuilder en ook nog de mail naar de ingelogde FEU gebruiker, zie: eerder post
Mvg,
Peter
Re: formbuilder veld berekening probleem.. bug?
voor deze vraag... ik heb de eindberekening uitgevoerd door eigenlijk de volledige berekening te doen van alle tussen berekening samen, wat omslachtig maar dit werkt wel.
Echter zit ik met een ander probleem, mbt. berekeningen...
Volgende zou ik willen doen.
Ik heb 1 veld waar men de gewenste lengte van een product (er zijn 5 producten in het formulier) wil ingeven.
Indien de ingegeven lengte kleiner is dan 15 (meter) is de prijs per meter €29,95
Indien de lengte tussen 15 en 30 meter is ingegeven, dan is de prijs voor de 1ste 15meter €26,95 en voor het resterende €29,95
Indien de lengte 30 of meer meter is ingegeven, dan is de prijs voor de 1ste 30meter €24,95 en voor het resterende €29,95 (indien het minder dan 15meter betreft)
Is er een manier om dit uit te voeren in een berekeningsveld?
Of een andere manier?
Mvg,
Peter
Echter zit ik met een ander probleem, mbt. berekeningen...
Volgende zou ik willen doen.
Ik heb 1 veld waar men de gewenste lengte van een product (er zijn 5 producten in het formulier) wil ingeven.
Indien de ingegeven lengte kleiner is dan 15 (meter) is de prijs per meter €29,95
Indien de lengte tussen 15 en 30 meter is ingegeven, dan is de prijs voor de 1ste 15meter €26,95 en voor het resterende €29,95
Indien de lengte 30 of meer meter is ingegeven, dan is de prijs voor de 1ste 30meter €24,95 en voor het resterende €29,95 (indien het minder dan 15meter betreft)
Is er een manier om dit uit te voeren in een berekeningsveld?
Of een andere manier?
Mvg,
Peter
Re: formbuilder veld berekening probleem.. bug?
Geen idee hoe dat berekeningsveld eruit ziet maar lijkt me toch een iets complexere berekening.
Zeker als je de uitleg leest, want niet helemaal duidelijk hoe het nu met de meters zit.
Bijvoorbeeld: 80 meter
Eerste 60 meter (2x30) is 24.95 p/m
Vervolgens 15 meter à 26.95 p/m
Laatste 5 meter à 29.95 p/m
Ik denk dat je dit moet oplossen met modulo en delen. Maar dat daar een paar tussenstappen noodzakelijk zijn (dus dan sowieso niet mogelijk in één veld)
Zeker als je de uitleg leest, want niet helemaal duidelijk hoe het nu met de meters zit.
Bijvoorbeeld: 80 meter
Mijn aanname (anders dan in de uitleg)Indien de lengte 30 of meer meter is ingegeven, dan is de prijs voor de 1ste 30meter €24,95 en voor het resterende €29,95 (indien het minder dan 15meter betreft)
Eerste 60 meter (2x30) is 24.95 p/m
Vervolgens 15 meter à 26.95 p/m
Laatste 5 meter à 29.95 p/m
Ik denk dat je dit moet oplossen met modulo en delen. Maar dat daar een paar tussenstappen noodzakelijk zijn (dus dan sowieso niet mogelijk in één veld)
Re: formbuilder veld berekening probleem.. bug?
Met Smarty berekening maken in combinatie met {if} en {else} lijkt me dit niet zo'n probleem...Indien de ingegeven lengte kleiner is dan 15 (meter) is de prijs per meter €29,95
Indien de lengte tussen 15 en 30 meter is ingegeven, dan is de prijs voor de 1ste 15meter €26,95 en voor het resterende €29,95
Indien de lengte 30 of meer meter is ingegeven, dan is de prijs voor de 1ste 30meter €24,95 en voor het resterende €29,95 (indien het minder dan 15meter betreft)
Heeft niets met Formbuilder te maken.
Het is meer wiskundig ontleden...
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: formbuilder veld berekening probleem.. bug?
Rolf en Velden dank voor het meedenken
Het is zo dat dit dus een formulier is in formbuilder, waarbij de gebruiker een veld kan ingegeven (vb die 80 meter van Velden).
Ik gebruikte nu een berekeningsveld van formbuilder om dan de berekening te maken, maar dat was toen lengte x aantal.
Nu wil ik dat de gebruiker enkel de lengte op geeft (vb. die 80 meter) en dat de berekening achterliggend gebeurd, in vb een berekeningsveld.
En zoals Velden aangeeft zal een ingave moeten gesplits worden, die 80 wordt 2 x 30 x 24.95 p/m, 1 x 15 x 26.95 p/m en 1 x 5 x 29.95 p/m
Maar dat berekeningsveld is wat beperkt, je kunt er geen smarty in kwijt.
Het is ook zo dat ik bij submit van de form de velden opsla in LISE module, zodat ik de 'bestelling' terug kan filteren als de gebruiker inlogt en zo zijn ingaves kan tonen.
Wellicht kan het via een UDT, in een UDT de berekening laten maken?
Maar daar heb ik weinig kennis van...
Mvg,
peter
Het is zo dat dit dus een formulier is in formbuilder, waarbij de gebruiker een veld kan ingegeven (vb die 80 meter van Velden).
Ik gebruikte nu een berekeningsveld van formbuilder om dan de berekening te maken, maar dat was toen lengte x aantal.
Nu wil ik dat de gebruiker enkel de lengte op geeft (vb. die 80 meter) en dat de berekening achterliggend gebeurd, in vb een berekeningsveld.
En zoals Velden aangeeft zal een ingave moeten gesplits worden, die 80 wordt 2 x 30 x 24.95 p/m, 1 x 15 x 26.95 p/m en 1 x 5 x 29.95 p/m
Maar dat berekeningsveld is wat beperkt, je kunt er geen smarty in kwijt.
Het is ook zo dat ik bij submit van de form de velden opsla in LISE module, zodat ik de 'bestelling' terug kan filteren als de gebruiker inlogt en zo zijn ingaves kan tonen.
Wellicht kan het via een UDT, in een UDT de berekening laten maken?
Maar daar heb ik weinig kennis van...
Mvg,
peter
Re: formbuilder veld berekening probleem.. bug?
Hoe het met FB, LISE en UDTs werkt weet ik zo niet uit mijn hoofd.
De berekening is denk ik als volgt in een UDT te doen:
De berekening is denk ik als volgt in een UDT te doen:
Code: Select all
$length = $params['length'];
$price30 = 24.95;
$price15 = 26.95;
$priceless = 29.95;
$tmpprice = 0;
$tmpprice += ((int)($length / 30)) * $price30 * 30;
$tmpprice += ((int)(($length % 30) / 15)) * $price15 * 15;
$tmpprice += ((int)($length % 15)) * $priceless;
echo $tmpprice;
Re: formbuilder veld berekening probleem.. bug?
Dank u Velden,
Ik veronderstel dat als de gebruiker in het veld de waarde 80 ingeeft (voor het aantal meter), dat dan de UDT in werking moet treden??
Zodat de berekeing kan uitgevoerd worden en worden opgeslagen in een ander veld??
Ik ben niet thuis in UDT toestanden,misschien iemand die een idee heeft.
Het is dus zo dat er 5 producten zijn en men kan dus 5 velden invullen (lengte voor ieder product).
Na het invullen op versturen drukken, de velden worden opgeslagen in een LISE module en de mail wordt verstuurd (maar ook de berekening wordt gemaakt).
Mvg,
Peter
Ik veronderstel dat als de gebruiker in het veld de waarde 80 ingeeft (voor het aantal meter), dat dan de UDT in werking moet treden??
Zodat de berekeing kan uitgevoerd worden en worden opgeslagen in een ander veld??
Ik ben niet thuis in UDT toestanden,misschien iemand die een idee heeft.
Het is dus zo dat er 5 producten zijn en men kan dus 5 velden invullen (lengte voor ieder product).
Na het invullen op versturen drukken, de velden worden opgeslagen in een LISE module en de mail wordt verstuurd (maar ook de berekening wordt gemaakt).
Mvg,
Peter