provide new method for merging macros from different templates
This commit is contained in:
parent
6740d350dd
commit
d09b0fd786
1 changed files with 10 additions and 1 deletions
|
@ -40,10 +40,10 @@ class Controller(object):
|
||||||
self.context = context.context
|
self.context = context.context
|
||||||
self.request = request
|
self.request = request
|
||||||
self.params = Jeep()
|
self.params = Jeep()
|
||||||
|
self.templates = {}
|
||||||
self.configure()
|
self.configure()
|
||||||
#self.view.setupController()
|
#self.view.setupController()
|
||||||
self.view.controller = self # notify the view
|
self.view.controller = self # notify the view
|
||||||
self.templates = {}
|
|
||||||
|
|
||||||
skin = None # may be overwritten by the view
|
skin = None # may be overwritten by the view
|
||||||
|
|
||||||
|
@ -83,6 +83,15 @@ class Controller(object):
|
||||||
template = default
|
template = default
|
||||||
return template.macros
|
return template.macros
|
||||||
|
|
||||||
|
def mergeTemplateMacros(self, name, *bases):
|
||||||
|
result = {}
|
||||||
|
for base in bases:
|
||||||
|
result.update(base.macros)
|
||||||
|
template = self.templates.get(name)
|
||||||
|
if template is not None:
|
||||||
|
result.update(template.macros)
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
class Macros(dict):
|
class Macros(dict):
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue