An error occurred while processing the template.
The following has evaluated to null or missing: ==> assetRenderer.getArticle [in template "20101#20128#200855" at line 28, column 26] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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: journalArticle = assetRenderer.getArt... [in template "20101#20128#200855" at line 28, column 9] ----
1<#assign
2 pageExpandoBridge = layout.getExpandoBridge()
3/>
4<#attempt>
5 <#assign hideOtherTopicsTitle = (pageExpandoBridge.getAttribute("hide-other-topics-title", false))!false />
6 <#recover>
7 <#assign hideOtherTopicsTitle = false />
8</#attempt>
9<div class="cards__list">
10 <#assign liferay_journal = taglibLiferayHash["/META-INF/liferay-journal.tld"] />
11 <#if entries?has_content>
12 <#assign
13 DDMStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService")
14 DlFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
15 masterSiteGroupId = getterUtil.getLong(propsUtil.get("lgo.master.site.id"), 20124)
16 masterSiteUrl = themeDisplay.getPortalURL()
17 scopeGroupId = themeDisplay.getScopeGroupId()
18 countrySiteUrl = themeDisplay.getSiteGroup().getDisplayURL(themeDisplay)
19 siteUrl = (scopeGroupId == masterSiteGroupId)?then(masterSiteUrl, countrySiteUrl)
20 />
21 <#if !hideOtherTopicsTitle>
22 <h3 class="mb-4"><@liferay.language key="headline.other-topics" />:</h3>
23 </#if>
24 <div class="row override-row-width">
25 <#list entries as curEntry>
26 <#assign
27 assetRenderer = curEntry.getAssetRenderer()
28 journalArticle = assetRenderer.getArticle()
29 />
30 <div class="col-xs-12 col-sm-6 col-lg-4">
31 <#if (assetRenderer.getArticle())??>
32 <#assign
33 structure = DDMStructureLocalService.getDDMStructure(curEntry.getClassTypeId()) />
34
35 <#if (structure.getName(localeUtil.getDefault()) == "Industry Contacts")>
36 <#assign
37 contactFieldsMap = curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap()
38 title = (contactFieldsMap["Caption"][0].getValue().getString(locale))!''
39 imageData = (contactFieldsMap["ContactImage"][0].getValue().getString(locale))!''
40 buttonText = (contactFieldsMap["ButtonText"][0].getValue().getString(locale))!'' />
41
42 <#if (serviceLocator.findService("com.kn.lgo.contact.url.service.ContactUrlService"))?has_content>
43 <#assign
44 ContactUrlService = serviceLocator.findService("com.kn.lgo.contact.url.service.ContactUrlService")
45 url = ContactUrlService.getContactFormURLFromContactArticle(journalArticle, locale)/>
46 <#else>
47 <#assign url = ''/>
48 </#if>
49
50 <#else>
51 <#assign
52 topSectionFieldsMap = (curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap()["TopSection"][0].getNestedDDMFormFieldValuesMap())!{}
53 imageryFieldsMap = (curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap()["Imagery"][0].getNestedDDMFormFieldValuesMap())!{}
54 title = (topSectionFieldsMap["Title"][0].getValue().getString(locale))!''
55 imageData = (imageryFieldsMap["CardImage"][0].getValue().getString(locale))!''
56 url = siteUrl+"/-/"+curEntry.getAssetRenderer().getUrlTitle()!'' />
57 </#if>
58
59 <a href="${url}" class="card__link" data-gtm-content-type="card">
60 <div class="card card__item zoom-in">
61 <#if structure??>
62 <span class="mb-3 card__category">${structure.getName(localeUtil.getMostRelevantLocale())}</span>
63 </#if>
64
65 <#if imageData?starts_with("{") >
66
67 <#assign
68 jsonObjectMap = jsonFactoryUtil.createJSONObject(imageData)
69 fileEntryId = (jsonObjectMap.getString("fileEntryId"))?number
70 altText = jsonObjectMap.getString("alt")
71 fileName = jsonObjectMap.getString("name")
72 />
73 <#if fileEntryId != 0>
74 <#assign file = DlFileEntryService.getDLFileEntry(fileEntryId)
75 path = "/documents/" + jsonObjectMap.getString("groupId") + "/" + file.getFolderId()
76 + "/" + jsonObjectMap.getString("name") + "/" + jsonObjectMap.getString("uuid") />
77 </#if>
78
79 <#else>
80 <#assign path = "" />
81 </#if>
82 <#if imageData?? && path?has_content>
83 <div class="card__image">
84 <picture data-fileentryid="${fileEntryId}">
85 <source media="(max-width:576px)" srcset="/o/adaptive-media/image/${fileEntryId}/0500px/${fileName}">
86 <source media="(max-width:768px)" srcset="/o/adaptive-media/image/${fileEntryId}/0300px/${fileName}">
87 <source media="(max-width:992px)" srcset="/o/adaptive-media/image/${fileEntryId}/0410px/${fileName}">
88 <source media="(min-width:992px)" srcset="/o/adaptive-media/image/${fileEntryId}/0300px/${fileName}">
89 <img class="image__object-fit" src="${path}" loading="lazy" alt="${altText}"/>
90 </picture>
91 </div>
92 </#if>
93
94 <h3 class="card__title mt-2 text-left">${title}</h3>
95 <div class="btn btn-link read-more">
96 <#if (structure.getName(localeUtil.getDefault()) == "Industry Contacts")>
97 <span>${buttonText}</span>
98 <#else>
99 <span><@liferay.language key="link-text.read-full-story" /></span>
100 </#if>
101 <svg class="ml-2" width="17" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg">
102 <path d="M12.892 5.874H0V7.81H12.892L8.228 12.452L9.46 13.684L16.302 6.842L9.46 0L8.228 1.21L12.892 5.874Z" fill="#0099DA"/>
103 </svg>
104 </div>
105 </div>
106 </a>
107 </#if>
108 </div>
109 </#list>
110 </div>
111 </#if>
112</div>