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)