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>