Immer auf dem aktuellen Stand: Die News
Mit Blaues Gut wissen Sie zu jedem Zeitpunkt über aktuelle Entwicklungen um Wasser und Gewässer Bescheid. Klicken Sie sich hier durch die neuesten Meldungen.
The following has evaluated to null or missing: ==> formField.getValue().getString(locale) [in template "blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" at line 22, column 43] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign altTag = formField.getValue()... [in template "blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" in function "getAltText" at line 22, column 25] ----
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.publishDate
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}" loading="lazy"/>
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>