diff --git a/common.py b/common.py index 1fd8324..79ac503 100644 --- a/common.py +++ b/common.py @@ -154,8 +154,7 @@ class ResourceAdapterBase(AdapterBase): storageParams = None def getChildren(self): - for r in self.context.getResources(): - yield adapted(r) + return [] # other adapters diff --git a/interfaces.py b/interfaces.py index 47aa6d4..48f8019 100644 --- a/interfaces.py +++ b/interfaces.py @@ -186,7 +186,7 @@ class IConcept(IConceptSchema, ILoopsObject, IPotentialTarget): class ILoopsAdapter(IConceptSchema): - """ Common interface for concept and resource adapters. + """ Common interface for concept (and possibly resource) adapters. """ context = Attribute('The underlying persistent object.') diff --git a/layout/base.py b/layout/base.py index 02f50ca..162a212 100644 --- a/layout/base.py +++ b/layout/base.py @@ -56,8 +56,9 @@ class NodeLayoutInstance(LayoutInstance): li.template = l result.append(li) return result - # sublayouts specified via subnodes - subnodes = self.context.values() + # sublayouts specified via subnodes of the current menu node + menu = self.context.getMenu() + subnodes = menu.getMenuItems() names = region.layouts.keys() for n in subnodes: if n.viewName in names: diff --git a/layout/browser/concept.py b/layout/browser/concept.py index 93044ba..24cde89 100644 --- a/layout/browser/concept.py +++ b/layout/browser/concept.py @@ -26,20 +26,15 @@ from zope import component from zope.cachedescriptors.property import Lazy from zope.traversing.browser import absoluteURL -from cybertools.composer.layout.browser.view import Page from loops.browser.common import BaseView from loops.common import adapted from loops.i18n.browser import LanguageInfo from loops.interfaces import IConcept -from loops.layout.interfaces import ILayoutNode -from loops.versioning.util import getVersion from loops import util class ConceptView(object): - node = None - def __init__(self, context, request): self.context = context # this is the adapted concept! self.request = request diff --git a/layout/browser/configure.zcml b/layout/browser/configure.zcml index 6e27359..e67cc55 100644 --- a/layout/browser/configure.zcml +++ b/layout/browser/configure.zcml @@ -34,15 +34,9 @@ - - diff --git a/layout/browser/traversal.py b/layout/browser/traversal.py index afa2ec8..29beeef 100644 --- a/layout/browser/traversal.py +++ b/layout/browser/traversal.py @@ -50,6 +50,7 @@ class NodeTraverser(ItemTraverser): target = getVersion(target, request) target = adapted(target, LanguageInfo(target, request)) viewAnnotations['target'] = target - return target + #return target + return self.context obj = super(NodeTraverser, self).publishTraverse(request, name) return obj diff --git a/layout/interfaces.py b/layout/interfaces.py index dee40ba..a41ac07 100644 --- a/layout/interfaces.py +++ b/layout/interfaces.py @@ -25,7 +25,7 @@ $Id$ from zope.app.container.constraints import contains, containers from zope.interface import Interface -from loops.interfaces import INodeSchema, IBaseNode, IViewManager +from loops.interfaces import INodeSchema, IBaseNode, INode, IViewManager class ILayoutView(INodeSchema): @@ -34,7 +34,7 @@ class ILayoutView(INodeSchema): """ -class ILayoutNode(ILayoutView, IBaseNode): +class ILayoutNode(ILayoutView, INode): contains(ILayoutView)