Recent Activities
-
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style> -
An error occurred while processing the template.
The following has evaluated to null or missing: ==> autoPopulateDate [in template "20096#20121#4729007" at line 35, column 45] ---- 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: #if (getterUtil.getBoolean(autoPopula... [in template "20096#20121#4729007" at line 35, column 17] ----1<#assign2 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")3 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")4 friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")5 classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")6 assetCategoryClassNameId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetCategory")78 journalArticleId = .vars['reserved-article-id'].data9 journalArticle = journalArticleService.getArticle(groupId, journalArticleId)10 assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey())1112 assetCategories = assetEntry.getCategories()13/>1415<#assign16 requestedUrl = themeDisplay.getURLCurrent()17 currentPath = requestedUrl?keep_before("?")?remove_ending("/")18 queryparameter=requestedUrl?keep_after("?")19 curerntPathWithoutTags = currentPath?keep_before("/tags/")20/>2122<#assign excludedCategories = ["News","Events","Report","Reports","z_Report_listing","Report_list","BREEAMNews","LPCB","BRE Group","Cities","Press releases","Case_Study","Case study","BREEAM_Insights","BREEAM_NEWS","Insights"] />2324<div class="c-article-stackable-card c-article-stackable-card--align-bottom">25 <#if (CardImage.getData())?? && CardImage.getData() != "">26 <div class="c-article-stackable-card__image">27 <#if (CardImage.getData())?? && CardImage.getData() != "">28 <img class="img-fluid lazy" loading="lazy" alt='${CardImage.getAttribute("alt")}'29 data-fileentryid='${CardImage.getAttribute("fileEntryId")}' data-src="${CardImage.getData()}" />30 </#if>31 </div>32 </#if>33 <div class="c-article-stackable-card__body">3435 <#if (getterUtil.getBoolean(autoPopulateDate.getData()) && getterUtil.getBoolean(autoPopulateAuthor.getData())?has_content) || (MigrationDate.getData())?has_content>36 <div class="c-article-stackable-card__byline c-article-stackable-card__byline--separator mb-1 mt-0">37 <#else>38 <div class="c-article-stackable-card__byline mb-1 mt-0">39 </#if>4041 <#if getterUtil.getBoolean(autoPopulateDate.getData())>42 <span class="c-article-stackable-card__date">43 <#assign CardDate=.vars["reserved-article-create-date"].data />44 <#if validator.isNotNull(CardDate)>45 <#assign ArticleCardDate_DateObj=dateUtil.parseDate("EEE, d MMM yyyy HH:mm:ss Z", CardDate,locale)>46 ${dateUtil.getDate(ArticleCardDate_DateObj, "dd MMMMM yyyy", locale)}47 </#if>48 </span>49 <#else>50 <span class="c-article-stackable-card__date">51 <#if (MigrationDate.getData())?has_content>52 <#assign ArticleMigrationDate_Data=getterUtil.getString(MigrationDate.getData())>53 <#assign newDateobj=dateUtil.parseDate("yyyy-MM-dd HH:mm:ss", ArticleMigrationDate_Data, locale) />54 <#assign migraDate=dateUtil.getDate(newDateobj, "dd MMMMM yyyy", locale) />55 ${migraDate}56 </#if>57 </span>58 </#if>5960 <#if getterUtil.getBoolean(autoPopulateAuthor.getData())>61 <span class="c-article-stackable-card__author">${.vars["reserved-article-author-name"].data}</span>62 <#else>63 <#if (AuthorName.getData())?has_content>64 <span class="c-article-stackable-card__author">${AuthorName.getData()}</span>65 </#if>66 </#if>6768 </div>6970 <#if (CardTitle.getData())??>71 <h3 class="c-article-stackable-card__title d-flex">72 <#if (buttonLink.getFriendlyUrl())?has_content>73 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">${CardTitle.getData()}</a>74 <#elseif (ExternalLink.getData())?has_content>75 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">${CardTitle.getData()}</a>76 <#else>77 ${CardTitle.getData()}78 </#if>79 </h3>80 </#if>8182 <#if assetCategories??>8384 <div class="c-article-stackable-card__category mt-auto mb-0">85 <#assign filterCategories = [] />86 <#list assetCategories as category>87 <#if ! excludedCategories?seq_contains(category.getName())>88 <#assign filterCategories += [category] />89 </#if>90 </#list>91 <#list filterCategories as category>92 <#assign categoryName = category.getName() />9394 <#assign friendlyURLs =95 friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations96 (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) />97 <#if friendlyURLs?size == 1>98 <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() />99 </#if>100101 <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter />102103 <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>, </#sep>104105 </#list>106 </div>107 </#if>108109</div>110111<div class="c-link-redirection d-none">112 <#if (buttonLink.getFriendlyUrl())?has_content>113 <a data-senna-off="true" href="${buttonLink.getFriendlyUrl()}">114 ${buttonLink.getFriendlyUrl()}115 </a>116 </#if>117 <#if (ExternalLink.getData())?has_content>118 <a data-senna-off="true" href="${ExternalLink.getData()}" target="_blank">119 ${ExternalLink.getData()}120 </a>121 </#if>122</div>123124<style>125 .c-article-stackable-card__title a {126 font-family: "Recife Text";127 font-size: 1.75rem;128 line-height: 2.125rem;129 color: #1E1836;130 }131 .c-article-stackable-card__category a {132 font-family: unset;133 /*color: #757283;*/134 color: unset;135 }136 .c-report-listing .c-article-stackable-card__category:hover,137 .c-article-stackable-card:hover .c-article-stackable-card__title { text-decoration: none; }138</style>