Skip to content

Instantly share code, notes, and snippets.

@oriolgual
Created July 14, 2010 16:57
Show Gist options
  • Save oriolgual/475677 to your computer and use it in GitHub Desktop.
Save oriolgual/475677 to your computer and use it in GitHub Desktop.
In Radiant, group children in N slices
<r:children:slice slices="2">
<ul>
<r:each>
<li><r:title /></li>
</r:each>
</ul>
</r:children:slice>
desc %{
Slices children in N different groups
*Usage:*
<pre><code><r:children:slice [slices="number"]>
...
</r:children:slice>
</code></pre>
}
tag 'children:slice' do |tag|
result = []
children = tag.locals.children
slices = tag.attr['slices'].to_i || 2
slice = (children.size.to_f / slices).ceil
children.each_slice(slice) do |children_slice|
tag.locals.children_slice = children_slice
result << tag.expand
end
result
end
tag 'children:slice:each' do |tag|
result = []
tag.locals.children_slice.each do |item|
tag.locals.child = item
tag.locals.page = item
result << tag.expand
end
result
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment