From 6955e73e84fc377760a2a6e26f5e787b695cfb28 Mon Sep 17 00:00:00 2001 From: helmutm Date: Mon, 17 Nov 2008 09:49:47 +0000 Subject: [PATCH] use 'instanceName' attribute for controlling layout instances git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2993 fd906abe-77d9-0310-91a1-e0d9ade77398 --- composer/layout/base.py | 4 +++- composer/layout/browser/view.py | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/composer/layout/base.py b/composer/layout/base.py index d3a0b7f..78c775d 100644 --- a/composer/layout/base.py +++ b/composer/layout/base.py @@ -61,6 +61,7 @@ class Layout(Template): title = description = u'' category = 'default' renderer = None + instanceName = '' order = 50 sublayouts = None @@ -93,7 +94,8 @@ class LayoutInstance(object): sublayouts = self.template.sublayouts for l in region.layouts: if sublayouts is None or l.name in sublayouts: - li = ILayoutInstance(self.context) + li = component.getAdapter(self.context, ILayoutInstance, + name=l.instanceName) li.template = l result.append(li) return result diff --git a/composer/layout/browser/view.py b/composer/layout/browser/view.py index 748b46c..7c44392 100644 --- a/composer/layout/browser/view.py +++ b/composer/layout/browser/view.py @@ -73,7 +73,8 @@ class Page(BaseView): if n in layoutNames: layout = layouts[n] break - instance = ILayoutInstance(self.context) + instance = component.getAdapter(self.context, ILayoutInstance, + name=layout.instanceName) instance.template = layout view = LayoutView(instance, self.request, name='page', parent=self, page=self)