You are not logged in Log in Join
You are here: Home » Members » Chui Tey » Wiki for product releases » BoboTraverse » wikipage_view

Log in
Name

Password

 
 
FrontPage »

BoboTraverse

BoboTraverse is just one of the many functions that get called when ZPublisher? is working out which object to Publish. ZPublisher/BaseRequest.py.

Publishing steps:

  1. Path is broken down into a list eg a/b/c becomes [c,b,'a']? and stored as request['TraversalRequestNameStack']?
  2. The current objects __before_publishing_traverse__ method is called, and return values are ignored:
          __before_publishing_traverse__(object, request)
    
          See Shared/DC/Scripts/Bindings.py for an example of __before_publishing_traverse__. 
          There, the excess URL bits are stripped off, and assigned to traverse_subpath::
    
          path = request['TraversalRequestNameStack']
          subpath = path[:]
          path = [:]
          subpath.reverse()
          request.set('traverse_subpath', subpath)
    
  3. BoboTraverse is then called. There are two possible types of return values :
          subobject = __bobo_traverse__(request, entryname)
          parents, parents, ..., parents, object, subobject = __bobo_traverse__(request, entryname)
    

Before