History for BoboTraverse
??changed:
-
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