Raphael Bauduin wrote:
> is there a way to select one specific child, in contrast to iterating
> over all of them?
> Something like <children:each slug="child-slug"> or <child slug="child-slug">.

I have made a little patch for that to find a URL locally relative to 
the current page:

--- standard_tags.rb    (revision 363)
+++ standard_tags.rb    (working copy)
@@ -396,9 +398,12 @@
    }
    tag 'find' do |tag|
      if url = tag.attr['url']
-      if found = Page.find_by_url(tag.attr['url'])
+      if url[0..0] != "/" and found = Content.find(:first, :conditions 
=> ["slug = ? AND parent_id = ?", url, tag.locals.page.id])
          tag.locals.page = found
          tag.expand
+      elsif found = Page.find_by_url(tag.attr['url'])
+        tag.locals.page = found
+        tag.expand
        end
      else
        raise TagError.new("`find' tag must contain `url' attribute")

You just use it like find: <r:find url="slug">...</r:find>

Cheers,
Oliver
_______________________________________________
Radiant mailing list
Post:   Radiant@lists.radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to