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:
- Path is broken down into a list eg a/b/c becomes [
c
,b
,'a']? and stored as request['TraversalRequestNameStack']? - 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)
- 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