From 305c8dc5d3beb1cc3c5545e458fda5b78d7cbd3c Mon Sep 17 00:00:00 2001 From: helmutm Date: Fri, 15 May 2009 12:32:35 +0000 Subject: [PATCH] check for specialized traverser based on target object git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3382 fd906abe-77d9-0310-91a1-e0d9ade77398 --- layout/browser/traversal.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/layout/browser/traversal.py b/layout/browser/traversal.py index 4dea60c..bc8a667 100644 --- a/layout/browser/traversal.py +++ b/layout/browser/traversal.py @@ -62,6 +62,16 @@ class NodeTraverser(ItemTraverser): tv = component.getMultiAdapter((target, request), name='layout') viewAnnotations['targetView'] = tv return self.context + if self.context.target is not None: + # check for specialized traverser + traverser = IPublishTraverse(adapted(self.context.target), None) + if traverser is not None: + target = traverser.publishTraverse(self, request, name) + if target is not None: + viewAnnotations['target'] = target + tv = component.getMultiAdapter((target, request), name='layout') + viewAnnotations['targetView'] = tv + return self.context obj = None # for name, tr in component.getAdapters(self.context, IPublishTraverse): # if name: