Upcoming Events Header

Recent Activities

Search Results
Filters
  • 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<#assign  
    2    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") 
    7 
    8    journalArticleId = .vars['reserved-article-id'].data 
    9    journalArticle = journalArticleService.getArticle(groupId, journalArticleId) 
    10    assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey()) 
    11 
    12    assetCategories = assetEntry.getCategories() 
    13/> 
    14 
    15<#assign  
    16    requestedUrl = themeDisplay.getURLCurrent() 
    17    currentPath = requestedUrl?keep_before("?")?remove_ending("/") 
    18		queryparameter=requestedUrl?keep_after("?") 
    19    curerntPathWithoutTags = currentPath?keep_before("/tags/") 
    20/> 
    21 
    22<#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"] /> 
    23 
    24<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"> 
    34		 
    35		<#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> 
    40                        
    41            <#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> 
    59 
    60            <#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> 
    67 
    68            </div> 
    69 
    70    <#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> 
    81 
    82    <#if assetCategories??> 
    83 
    84        <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() /> 
    93 
    94                <#assign friendlyURLs =  
    95                    friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations 
    96                        (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) /> 
    97                <#if friendlyURLs?size == 1> 
    98                    <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() /> 
    99                </#if> 
    100 
    101                <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter /> 
    102 
    103                <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>,&nbsp;</#sep> 
    104 
    105            </#list> 
    106        </div> 
    107    </#if> 
    108 
    109</div> 
    110 
    111<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> 
    123 
    124<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<#assign  
    2    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") 
    7 
    8    journalArticleId = .vars['reserved-article-id'].data 
    9    journalArticle = journalArticleService.getArticle(groupId, journalArticleId) 
    10    assetEntry = assetEntryLocalService.getEntry(journalArticle.getModelClassName(), journalArticle.getResourcePrimKey()) 
    11 
    12    assetCategories = assetEntry.getCategories() 
    13/> 
    14 
    15<#assign  
    16    requestedUrl = themeDisplay.getURLCurrent() 
    17    currentPath = requestedUrl?keep_before("?")?remove_ending("/") 
    18		queryparameter=requestedUrl?keep_after("?") 
    19    curerntPathWithoutTags = currentPath?keep_before("/tags/") 
    20/> 
    21 
    22<#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"] /> 
    23 
    24<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"> 
    34		 
    35		<#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> 
    40                        
    41            <#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> 
    59 
    60            <#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> 
    67 
    68            </div> 
    69 
    70    <#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> 
    81 
    82    <#if assetCategories??> 
    83 
    84        <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() /> 
    93 
    94                <#assign friendlyURLs =  
    95                    friendlyURLEntryLocalService.getFriendlyURLEntryLocalizations 
    96                        (category.getGroupId(), assetCategoryClassNameId, category.getCategoryId(), localeUtil.toLanguageId(locale), 0, 1, null) /> 
    97                <#if friendlyURLs?size == 1> 
    98                    <#assign curTagFriendlyUrl = friendlyURLs[0].getUrlTitle() /> 
    99                </#if> 
    100 
    101                <#assign curTagUrl = curerntPathWithoutTags + "/tags/" + curTagFriendlyUrl + "?" +queryparameter /> 
    102 
    103                <a href="${curTagUrl}" class="c-new-small-tag">${categoryName}</a><#sep>,&nbsp;</#sep> 
    104 
    105            </#list> 
    106        </div> 
    107    </#if> 
    108 
    109</div> 
    110 
    111<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> 
    123 
    124<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> 
  • SmartWasteCase Study
  • BRE calls for swift action in Warm Homes Plan ahead of Spring unveiling

    BRE calls for swift action in Warm Homes Plan ahead of spring unveiling

    InsulationModern methods of construction
Category Facet