diff --git a/browser/common.py b/browser/common.py index ef79109..52bc59e 100644 --- a/browser/common.py +++ b/browser/common.py @@ -35,6 +35,7 @@ from zope.schema.vocabulary import SimpleTerm from zope.security.proxy import removeSecurityProxy from cybertools.typology.interfaces import IType +from loops.interfaces import IView from loops import util class BaseView(object): @@ -47,17 +48,25 @@ class BaseView(object): skin = None # TODO: get ISkinController adapter instead skinName = self.loopsRoot.skinName - if skinName: + if skinName and IView.providedBy(self.context): skin = zapi.queryUtility(ISkin, skinName) if skin is not None: applySkin(self.request, skin) self.skin = skin - @Lazy - def resourceBase(self): - skinSetter = self.skin and ('/++skin++' + self.skin.__name__) or '' - # TODO: put '/@@' etc after path to site instead of directly after URL0 - return self.request.URL[0] + skinSetter + '/@@' + _controller = None + def setController(self, controller): + self._controller = controller + # this is also the place to register special macros with the controller + controller.skin = self.skin + def getController(self): return self._controller + controller = property(getController, setController) + + #@Lazy + #def resourceBase(self): + # skinSetter = self.skin and ('/++skin++' + self.skin.__name__) or '' + # # TODO: put '/@@' etc after path to site instead of directly after URL0 + # return self.request.URL[0] + skinSetter + '/@@/' @Lazy def modified(self): diff --git a/browser/node.css b/browser/node.css index 13793ab..4c80e42 100644 --- a/browser/node.css +++ b/browser/node.css @@ -6,7 +6,7 @@ */ .box { - margin: 5px; + margin: 12px; } #body { diff --git a/browser/node.pt b/browser/node.pt index 3cb3553..1e34e7c 100644 --- a/browser/node.pt +++ b/browser/node.pt @@ -3,22 +3,14 @@
+ +