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> 