21 from pyams_cache.beaker import get_cache |
21 from pyams_cache.beaker import get_cache |
22 from pyams_content.component.association.interfaces import IAssociationInfo |
22 from pyams_content.component.association.interfaces import IAssociationInfo |
23 from pyams_content.features.header.interfaces import IHeaderRenderer, IHeaderRendererSettings, IHeaderSettings, \ |
23 from pyams_content.features.header.interfaces import IHeaderRenderer, IHeaderRendererSettings, IHeaderSettings, \ |
24 IHeaderTarget |
24 IHeaderTarget |
25 from pyams_content.features.renderer.interfaces import HIDDEN_RENDERER_NAME |
25 from pyams_content.features.renderer.interfaces import HIDDEN_RENDERER_NAME |
|
26 from pyams_content.root import ISiteRoot |
26 from pyams_default_theme.features.header import SimpleHeaderRendererSettings |
27 from pyams_default_theme.features.header import SimpleHeaderRendererSettings |
27 from pyams_default_theme.features.header.interfaces import ISimpleHeaderRendererSettings |
28 from pyams_default_theme.features.header.interfaces import ISimpleHeaderRendererSettings |
28 from pyams_default_theme.features.header.skin.interfaces import IHeaderClass |
29 from pyams_default_theme.features.header.skin.interfaces import IHeaderClass |
29 from pyams_default_theme.features.renderer import BaseContentRenderer |
30 from pyams_default_theme.features.renderer import BaseContentRenderer |
30 from pyams_portal.interfaces import PREVIEW_MODE |
31 from pyams_portal.interfaces import PREVIEW_MODE |
31 from pyams_portal.portlet import PORTLETS_CACHE_KEY, PORTLETS_CACHE_NAME, PORTLETS_CACHE_REGION |
32 from pyams_portal.portlet import PORTLETS_CACHE_KEY, PORTLETS_CACHE_NAME, PORTLETS_CACHE_REGION |
32 from pyams_sequence.interfaces import IInternalReference |
33 from pyams_sequence.interfaces import IInternalReference |
|
34 from pyams_sequence.reference import get_reference_target |
33 from pyams_skin.layer import IPyAMSLayer |
35 from pyams_skin.layer import IPyAMSLayer |
34 from pyams_template.template import template_config |
36 from pyams_template.template import template_config |
35 from pyams_utils.adapter import adapter_config |
37 from pyams_utils.adapter import adapter_config |
36 from pyams_utils.interfaces import ICacheKeyValue |
38 from pyams_utils.interfaces import ICacheKeyValue |
37 from pyams_utils.traversing import get_parent |
39 from pyams_utils.traversing import get_parent |
79 @property |
81 @property |
80 def main_header_class(self): |
82 def main_header_class(self): |
81 request = self.request |
83 request = self.request |
82 return request.registry.queryMultiAdapter((request.context, request), IHeaderClass, default='') |
84 return request.registry.queryMultiAdapter((request.context, request), IHeaderClass, default='') |
83 |
85 |
|
86 @property |
|
87 def search_target(self): |
|
88 return get_reference_target(self.settings.search_target, request=self.request) |
|
89 |
84 def render(self): |
90 def render(self): |
|
91 if ISiteRoot.providedBy(self.request.context) and not self.settings.can_apply_on_root: |
|
92 return '' |
85 preview_mode = self.request.annotations.get(PREVIEW_MODE, False) |
93 preview_mode = self.request.annotations.get(PREVIEW_MODE, False) |
86 if preview_mode: |
94 if preview_mode: |
87 return super(BaseHeaderRenderer, self).render() |
95 return super(BaseHeaderRenderer, self).render() |
88 else: |
96 else: |
89 portlets_cache = get_cache(PORTLETS_CACHE_REGION, PORTLETS_CACHE_NAME) |
97 portlets_cache = get_cache(PORTLETS_CACHE_REGION, PORTLETS_CACHE_NAME) |