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)