equal
deleted
inserted
replaced
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_content.features.header.interfaces import IHeaderTarget, IHeaderRenderer, IHeaderSettings |
19 from pyams_content.features.header.interfaces import IHeaderTarget, IHeaderRenderer, IHeaderSettings |
20 from pyams_content.features.renderer.interfaces import HIDDEN_RENDERER_NAME |
20 from pyams_content.features.renderer.interfaces import HIDDEN_RENDERER_NAME |
21 from pyams_skin.layer import IPyAMSLayer |
21 from pyams_skin.layer import IPyAMSLayer |
|
22 from pyams_utils.interfaces.url import DISPLAY_CONTEXT |
22 |
23 |
23 # import packages |
24 # import packages |
24 from pyams_content.features.renderer.skin import BaseContentRenderer |
25 from pyams_content.features.renderer.skin import BaseContentRenderer |
25 from pyams_utils.adapter import adapter_config |
26 from pyams_utils.adapter import adapter_config |
26 from pyramid.decorator import reify |
27 from pyramid.decorator import reify |
33 |
34 |
34 @reify |
35 @reify |
35 def settings(self): |
36 def settings(self): |
36 if self.settings_interface is None: |
37 if self.settings_interface is None: |
37 return None |
38 return None |
38 settings = IHeaderSettings(self.context) |
39 context = self.request.annotations.get(DISPLAY_CONTEXT) |
|
40 if context is None: |
|
41 context = self.context |
|
42 settings = IHeaderSettings(context) |
39 while settings.inherit: |
43 while settings.inherit: |
40 settings = IHeaderSettings(settings.parent) |
44 settings = IHeaderSettings(settings.parent) |
41 return settings.settings |
45 return settings.settings |
42 |
46 |
43 |
47 |