That too would work, but one could only have a single alternator with that approach.
-----Original Message----- From: Geir Magnusson Jr [mailto:[EMAIL PROTECTED] Sent: Monday, May 03, 2004 10:16 AM To: Velocity Developers List Subject: Re: Foreach cycle On May 3, 2004, at 9:42 AM, Inger, Matthew wrote: > Why not just have a directive for this, as it's probably > a common functionality (similar to what webmacro does) > > #alternate ( $color through [ "red", "blue" ] ) > > #foreach ( $item in $list ) > $color > #end > > So, $color just evaluates to the current color, and moves > to the next one, cycling back to the beginning when necessary. > > I'd be willing to write the directive for it. WHy a directive? Why not a simple tool? $alternator.setList(["red", "blue"]) #foreach($item in $list) $alternator.next() #end > > > -----Original Message----- > From: Claude Brisson [mailto:[EMAIL PROTECTED] > Sent: Sunday, May 02, 2004 1:12 PM > To: Velocity Developers List > Subject: Re: Foreach cycle > > > Hi, it seems a little complex... > > Why not use the modulo function ? > > #foreach($item in $list) > #if($velocityCount%2==0) #set($color="#aaaaaa") #else > #set($color="#eeeeee") #end > <tr bgcolor="$color"> > <td>$item</td> > </tr> > #end > > CloD > > ----- Original Message ----- > From: "evik" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Sunday, May 02, 2004 6:19 PM > Subject: Foreach cycle > > >> Hi! >> >> I usually print my tables that have every other row a little >> different color for easier reading. I did not find any such >> thing dirrectly supported in velocity so I made a little patch. >> It extends foreach like this: >> #foreach ( $item in $list ["#aaaaaa", "#eeeeee"] as $color ) >> <tr bgcolor="$color"> >> <td>$item</td> >> </tr> >> #end >> >> It will render every odd row with bgcolor="#aaaaaa" and the >> even ones with bgcolor="#eeeeee". I thinkahelps to the >> designer or the developper who had to solve this issue >> with macro logic. >> >> If anyone is interested I put up a patch against the current >> CVS version at: >> http://chaos.hu/foreach_cycle.patch.gz >> >> I wrote it if the ( $item in $list ) paramters are correct, and >> the cycling parameters have any problem, the code will not drop >> any errors, but render like if only the first two args would be >> given. This is for not rendering a page useless because someone >> tinkered around he cycling list. Also note that this logic makes >> the extended parameters optional, so the old style works just as >> it should. >> >> Also I "discovered" a rendering problem during this development. >> If anyone accidentally gives another parameter to #foreach, the >> render code would threat the fourth parameter as the rendering >> template. This patch also fix this by not rendering to a fix numbered >> child but always to invoke rendering on the last child. >> >> Any feedback is appreciated. >> >> evik >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Geir Magnusson Jr 203-247-1713(m) [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
