[Zope] 'Cookie crumb trail' navigation

Iago iago@iago.net
Fri, 22 Mar 2002 15:19:28 -0800


  Howdy.  I'll get right to it:

  Say I have a folder structure, a/b/c

  I'm in c. I want to establish some kind of method (my current attempts
  are a python script), stored in a, which will render the following:

    <a href="http://myserver.org/a/">A</a>: 
    <a href="http://myserver.org/a/b/">B</a>: 
    <b>C</b>:

  My current attempt only gets me:

    <a href="http://myserver.org/a/">A</a>: 
    <b>C</b>:

  Here's the code for recursiveLinks:

--- SNIP ---

import string

if list == None:
    list = []

if len(list) > 0:
    list.append( '<a href="%s">%s</a>' %
        ( context.absolute_url(), context.title or context.id )
    )
else:
    list.append( '<b>%s</b>' % context.title or context.id )

if context is container:
    list.reverse()
    print string.join(list,' &gt; ')
    return printed
else:
    # this doesn't work: return context['..'].recursiveLinks(list=list)
    return container.recursiveLinks(list=list)

--- SNIP ---

  Now, what I _really_ want is for 'context' to give me an object which
  is 'the context one level up from here', so I can recursively step up
  until i hit a folder I somehow designate as "top". I thought I was
  getting that with context and container, but as it turns out,
  container, where the above python script (recursiveLinks) lives, is
  not the container of context (the 'c' folder in this case) -- it's the
  container of the script (near as I can tell, since the result I'm
  getting is A: C and not A: B: C)

  How can I get 'next-folder-up' from this, in an object context so that
  I can grab the 'title' and other attributes off of the object, and
  recurse (as I thought I was doing above) by going to yet another
  'next-folder-up'?

  Any help here's appreciated.  I'm about 48 hours into learning zope. :)

-- 
Fred Hicks <iago@iago.net>