10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
|
15 |
15 # import standard library |
16 # import standard library |
16 |
17 |
17 # import interfaces |
18 # import interfaces |
18 from pyams_content.shared.common.portlet.content.interfaces import ISharedContentPortletSettings |
19 from pyams_content.shared.common.portlet.content.interfaces import ISharedContentPortletSettings |
19 from pyams_content.features.renderer.interfaces import ISharedContentRenderer |
20 from pyams_content.features.renderer.interfaces import ISharedContentRenderer |
20 from pyams_portal.interfaces import IPortalContext, IPortletRenderer |
21 from pyams_portal.interfaces import IPortalContext, IPortletRenderer |
21 from pyams_skin.layer import IPyAMSLayer |
22 from pyams_skin.layer import IPyAMSLayer |
22 |
23 |
23 # import packages |
24 # import packages |
24 from pyams_portal.portlet import PortletRenderer |
25 from pyams_portal.portlet import PortletRenderer |
|
26 from pyams_template.template import template_config |
25 from pyams_utils.adapter import adapter_config |
27 from pyams_utils.adapter import adapter_config |
26 from zope.interface import Interface |
28 from zope.interface import Interface |
27 |
29 |
28 from pyams_content import _ |
30 from pyams_content import _ |
29 |
31 |
30 |
32 |
31 @adapter_config(context=(IPortalContext, IPyAMSLayer, Interface, ISharedContentPortletSettings), |
33 @adapter_config(context=(IPortalContext, IPyAMSLayer, Interface, ISharedContentPortletSettings), |
32 provides=IPortletRenderer) |
34 provides=IPortletRenderer) |
|
35 @template_config(template='templates/content.pt', layer=IPyAMSLayer) |
33 class SharedContentPortletRenderer(PortletRenderer): |
36 class SharedContentPortletRenderer(PortletRenderer): |
34 """Shared content portlet renderer""" |
37 """Shared content portlet renderer""" |
35 |
38 |
36 label = _("Default content renderer") |
39 label = _("Default content renderer") |
37 |
40 |
43 key=lambda x: x[1].weight)] |
46 key=lambda x: x[1].weight)] |
44 |
47 |
45 def update(self): |
48 def update(self): |
46 super(SharedContentPortletRenderer, self).update() |
49 super(SharedContentPortletRenderer, self).update() |
47 [renderer.update() for renderer in self.renderers] |
50 [renderer.update() for renderer in self.renderers] |
48 |
|
49 def render(self): |
|
50 result = '' |
|
51 for renderer in self.renderers: |
|
52 if renderer is not None: |
|
53 result += renderer.render() |
|
54 return result |
|