Zebra striping using <r:children:each>?

Kia ora all,

I was wondering what the easiest way to get zebra striping for
<r:children:each> is?

In a rails app it would be:

<%- for item in @items do -%>
<tr class="<%= cycle(“even”, “odd”) %>">
… use item …

<%- end -%>

Any ideas :slight_smile:

Regards
Nathan

Nathan Donaldson wrote:

</tr>

<%- end -%>

Any ideas :slight_smile:

Sounds like a case for a custom tag or two. If you can come up with
something nice, I’ll add it to the core.

–
John

Thanks John,

I’ve come up with something. Nice or not I’ll let you decide :slight_smile:

Open to suggestions for changing names of tags.

It’s simplicity itself at the moment,

<r:children:each order=“desc” reset_cycle=“false”> to carry on from the
last row otherwise it will reset to zero so that the first row is “odd”

<r:cycle_row /> to output “even” or “odd”

I hope this make sense and is useful to someone.

Regards
Nathan

Oops, tried to attach a file but got an application error. Where is the
best place to send the plugin?

Regards
Nathan

Nathan Donaldson wrote:

Oops, tried to attach a file but got an application error. Where is the
best place to send the plugin?

You could attach it to the ThirdPartyBehaviors page on the Radiant Wiki:

http://dev.radiantcms.org/radiant/wiki/ThirdPartyBehaviors

–
John

Nathan Donaldson wrote:

I’ve come up with something. Nice or not I’ll let you decide :slight_smile:

Open to suggestions for changing names of tags.

It’s simplicity itself at the moment,

<r:children:each order=“desc” reset_cycle=“false”> to carry on from the
last row otherwise it will reset to zero so that the first row is “odd”

<r:cycle_row /> to output “even” or “odd”

Perhaps it would be better to have two tags:

<r:even>…</r:even>
<r:odd>…</r:odd>

which only render their contents when the index is even or odd? We
should probably also add an <r:index /> tag that returns the number.

–
John

John W. Long wrote:

Perhaps it would be better to have two tags:

<r:even>…</r:even>
<r:odd>…</r:odd>

which only render their contents when the index is even or odd? We
should probably also add an <r:index /> tag that returns the number.

–
John

Hi John,

I have added your suggestions and add it to the wiki page. You may have
some ideas about how to better overload children:each

Regards
Nathan

John W. Long wrote:

<r:cycle_row /> to output “even” or “odd”

Perhaps it would be better to have two tags:

<r:even>…</r:even>
<r:odd>…</r:odd>

Smarty allows you to cycle stuff while in a loop:

{section name=i loop=$items}

{$items[i].field} {$items[i].field} ... {$items[i].field} {/section}

Type thing.

Regards
–jm

which only render their contents when the index is even or odd? We
should probably also add an <r:index /> tag that returns the number.

–
John

–
Jacques Marneweck
http://www.powertrip.co.za/
http://www.powertrip.co.za/blog/

#include <std/disclaimer.h>

Nathan Donaldson wrote:

I have added your suggestions and add it to the wiki page. You may have
some ideas about how to better overload children:each

Looks very nice! Thanks for packaging this up as a plugin. Do you have
time to pull together a patch and ticket for it now?

–
John

What if I wanted three colors? There’s got to be a generalized way to do
this, and one that doesn’t mangle r:children:each (which is complex
enough!). I’m thinking something like the way r:random works.

<r:children:each>
<r:circle mod=“2”>…</r:circle>
</r:children:each>

On 10/18/06, Sean C. [email protected] wrote:

Open to suggestions for changing names of tags.

<td>{$items[i].field}</td>

Radiant mailing list
Post: [email protected]
Search: http://radiantcms.org/mailing-list/search/
Site:
http://lists.radiantcms.org/mailman/listinfo/radiant

–
Alexander H.
http://www2.truman.edu/~ah428

Hi All,

Just had time to get back to this.

John: For the patch, would you like me to create a patch so that the
plugin works, or shifting all of the functionality into page_context.rb?

Alexander and Sean: Sounds like an interesting idea, but maybe it’s
better to keep it simple. I certainly don’t have a use for that type of
funftionality, but would be interested to hear if someone does.

Regards
Nathan

What if I wanted three colors? There’s got to be a generalized way to
do
this, and one that doesn’t mangle r:children:each (which is complex
enough!). I’m thinking something like the way r:random works.

I’ll take a look at your code. I’m pretty busy today, but I may have a
“How
To” up my sleeve for this one.

Sean C.
seancribbs.com – comments on my site are down because I was too lazy to
get
Akismet before it was too late

Nathan Donaldson wrote:

John: For the patch, would you like me to create a patch so that the
plugin works, or shifting all of the functionality into page_context.rb?

A patch against page_context.rb would be excellent. Let’s go with the
even/odd approach for now.

–
John L.
http://wiseheartdesign.com