1<#import "/blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" as common>
2
3<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
4<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
5
6<#function getDownloadLink content>
7 <#assign
8 dlAppService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")
9 dlUrlHelperUtil = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper")
10 json = jsonFactoryUtil.createJSONObject(content)
11 fileEntryGroupId = json.getLong("groupId")
12 fileEntryUuid = json.getString("uuid")
13 fileEntry = dlAppService.getFileEntryByUuidAndGroupId(fileEntryUuid, fileEntryGroupId)
14 >
15 <#return httpUtil.removeParameter(dlUrlHelperUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(), themeDisplay, "", false, true), "download") />
16</#function>
17
18<div class="news-list-container">
19 <section class="news-list">
20 <#list entries as curEntry>
21
22 <#assign docXml = saxReaderUtil.read(curEntry.getAssetRenderer().getArticle().getContent()) />
23 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) />
24 <#assign renderer= curEntry.getAssetRenderer()/>
25
26 <#if assetLinkBehavior != "showFullContent">
27 <#assign viewURL = renderer.getURLViewInContext(renderRequest, renderResponse, viewURL) />
28 </#if>
29
30 <#assign
31 linkTarget = ""
32 linkHref = viewURL
33 headline = docXml.valueOf("//dynamic-element[@name='HeadlineArticle']/dynamic-content/text()")
34 datum = curEntry.createDate
35 text = docXml.valueOf("//dynamic-element[@name='Intro']/dynamic-content/text()")
36 intro = stringUtil.shorten(htmlUtil.stripHtml(text), 200)
37 imgUrlExisting = docXml.valueOf("//dynamic-element[@name='ExistingSlider']//dynamic-element[@name='Image']/dynamic-content/text()")
38 imgUrlNew = docXml.valueOf("//dynamic-element[@name='NeuerSlider']//dynamic-element[@name='Image']/dynamic-content/text()")
39 imgLarge = docXml.valueOf("//dynamic-element[@name='ImageLarge']/dynamic-content/text()")
40 imgUrl = ""
41 altText = ""
42 Copyright = ""
43 />
44
45 <#if imgUrlNew!="">
46 <#assign
47 imgUrl = getDownloadLink(imgUrlNew) + "&imagePreview=1"
48 altText = common.getAltText(imgUrlNew)
49 Copyright = common.getCopyrightTag("",imgUrlNew)
50 />
51 <#elseif imgUrlExisting!="">
52 <#assign
53 imgUrl = getDownloadLink(imgUrlExisting) + "&imagePreview=1"
54 altText = common.getAltText(imgUrlExisting)
55 Copyright = common.getCopyrightTag("",imgUrlExisting)
56 />
57 <#elseif imgLarge!="">
58 <#assign
59 imgUrl = getDownloadLink(imgLarge) + "&imagePreview=1"
60 altText = common.getAltText(imgLarge)
61 Copyright = common.getCopyrightTag("",imgLarge)
62 />
63 </#if>
64
65 <article class="news-list-item">
66 <div class="pull-right">
67 <@getEditIcon entry=curEntry/>
68 </div>
69 <div class="news-list-image <#if imgUrl=="">no-image</#if> image-with-caption">
70 <a href="${linkHref}">
71 <#if imgUrl!="">
72 <img src="${imgUrl}" data-src="${imgUrl}"
73 class="list-image" alt="${altText}"/>
74 <#else>
75 <img src="/o/blaues-gut-theme/images/no-image_blaues-gut.png"
76 data-src="/o/blaues-gut-theme/images/no-image_blaues-gut.png"
77 class="list-image no-image" alt=""/>
78 </#if>
79 </a>
80 ${Copyright}
81 </div>
82 <div class="news-list-content">
83 <a href="${linkHref}">
84 <#assign originalLocale = .locale>
85 <#setting locale = themeDisplay.locale>
86 <span class="meta">${datum?date?string("dd.MMMM yyyy")}</span>
87 <#setting locale = originalLocale>
88 <h3 class="teaser-headline">${headline}</h3>
89 <#-- <p>${intro}</p>-->
90 </a>
91 </div>
92 </article>
93 </#list>
94 </section>
95</div>
96
97<#macro getEditIcon entry>
98 <#if renderer.hasEditPermission(themeDisplay.getPermissionChecker())>
99 <#assign redirectURL = renderResponse.createRenderURL() />
100
101 ${redirectURL.setParameter("mvcPath", "/add_asset_redirect.jsp")}
102 ${redirectURL.setWindowState("pop_up")}
103
104 <#assign editPortletURL = renderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
105
106 <#if validator.isNotNull(editPortletURL)>
107 <#assign title = languageUtil.format(locale, "edit-x", entry.getTitle(locale), false) />
108
109 <@liferay_ui["icon"]
110 cssClass="icon-monospaced visible-interaction"
111 icon="pencil"
112 markupView="lexicon"
113 message=title
114 url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
115 />
116 </#if>
117 </#if>
118</#macro>