Page 1 of 1

[opgelost] grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 9:21 am
by pedes
Ik gebruik bij de module easylist maar ook bij andere modules de velddefinitie grouped checkbox.
Ik krijg deze values wel in mij template zichbaar, maar enkel komma gescheiden na elkaar.

Ik gebruik volgende om de grouped checkbox values te tonen in mijn template (waar de grouped checkbox de naam Opties heeft:

Code: Select all

{foreach from=$item->fielddefs item=fielddef}
	{if $fielddef.name == Opties}{$fielddef.name}: {$fielddef.value}{/if}
{/foreach}

Er wordt dan volgende getoond:
Opties: optie1,optie2,optie3,optie4

Maar ik had deze opties (hier slechts 4, maar in werkelijkheid gaan er dit veel meer zijn) graag onder elkaar in kolommen van vb. 5 getoond.

Iemand die weet hoe ik dit aanpak?
Had al veel gezocht hier op het forum en ook op de smarty site, maar kom er niet uit.

Alvast dank voor jullie hulp,
Mvg,
Peter

Re: grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 10:10 am
by pedes
Ok, de values onder elkaar krijgen is gelukt vie deze smarty uitbreiding:

Code: Select all

{$fielddef.value|replace:',':'<br />'}
Nu wil ik nog bepalen dat vb. na 10 item een nieuw kolom begonnen wordt...

Re: grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 11:19 am
by Rolf
pedes wrote:Nu wil ik nog bepalen dat vb. na 10 item een nieuw kolom begonnen wordt...

http://forum.cmsmadesimple.org/viewtopi ... 65#p277365

Re: grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 11:28 am
by pedes
Rolf dit werkt niet.

De items van de checkbox group komen niet uit een foreach lus, maar zijn gewoon de values uit de checkbox group.
Met de replace ',' naar een break kan ik deze values onder elkaar zetten, maar deze tellen en dan opmaak meegeven voor andere kolom is iets anders.

Mvg,
Peter

Re: grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 12:14 pm
by Jos
In plaats van die <br> invoegen zou je de items eerst in een array kunnen zetten, dan kun je de tip van Rolf (uhm.. van mij) wel gebruiken.

Volgens mij zou dat zo ongeveer moeten kunnen

Code: Select all

{$columns = 5}
{$items = ','|explode:$fielddef.value}
{$itemcount = $items|@count}
{$rows = $itemcount/$columns|ceil}
<ul>
{foreach $items as $item}
{if $item@index % $rows == 0 && $item@index != 0}
</ul>
<ul>
{/if}
   <li>{$item}</li>
{/foreach}
</ul>

Re: grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 12:45 pm
by pedes
Dank u voor de reply Jos,

Wellicht doe ik iets verkeerd of begrijp ik het niet goed... want ik krijg het niet werkend.

wat ik heb om de values uit de grouped checkbox te tonen is dit:

Code: Select all

{foreach from=$item->fielddefs item=fielddef}
	{if $fielddef.name == Opties}{$fielddef.value|replace:',':'<br />'}{/if}
{/foreach}
Dan komen ze mooi onder elkaar te staan.
Kan je mij eens kort uitleggen wat uw code betekend of waar ik het moet toepassen?

Mvg,
Pete

Re: grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 12:52 pm
by Jos
De code die ik had voorgesteld komt in plaats van jouw stukje: {$fielddef.value|replace:',':'<br />'}

Hieronder dezelfde code met wat uitleg erbij

Code: Select all

{$columns = 5}{*aantal gewenste kolommen*}
{$items = ','|explode:$fielddef.value}{*zet waarden in een array*}
{$itemcount = $items|@count}{*tel het aantal waarden*}
{$rows = $itemcount/$columns|ceil}{*bepaal het aantal regels per kolom*}
<ul>
{foreach $items as $item}
{if $item@index % $rows == 0 && $item@index != 0}{*nieuwe kolom*}
</ul>
<ul>
{/if}
   <li>{$item}</li>
{/foreach}
</ul>
In je css hoef je dan alleen de <ul> een float:left; te geven.

Hopelijk is het zo wat duidelijker

Re: grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 1:29 pm
by pedes
dank u Jos voor de uitleg en inderdaad dit werkt perfect..
enkel de volgende moeten vervangen
{$itemcount = $items|@count}
daar stond een )


vanharte bedankt.
Grtz
Peter

Re: [opgelost] grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 1:37 pm
by Jos
thx, ik heb het hierboven aangepast.

Re: [opgelost] grouped checkbox values stijlen

Posted: Mon Jan 11, 2016 2:30 pm
by Rolf
@Pedes
Mocht je tijd en zin hebben... http://forum.cmsmadesimple.org/viewtopi ... 73#p325873