Capability

Cloud

Liferay Cloud Platform provides the infrastructure and tooling necessary to simplify, secure, and deliver applications on Liferay DXP when using the SaaS or PaaS deployment approaches. Using Liferay’s Cloud infrastructure provides a secure, reliable, and scalable platform for building Liferay solutions.

The Liferay Cloud Platform includes DevOps CI/CD tools, automated backups, real-time logs, and much more.

Category
Category
An error occurred while processing the template.
When calling macro "displayResourceTypeTags", required parameter "taxonomyCategoryBriefs" (parameter #1) was specified, but had null/missing value.

----
Tip: If the parameter value expression on the caller side is known to be legally null/missing, you may want to specify a default value for it with the "!" operator, like paramValue!defaultValue.
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #macro displayResourceTypeTags taxono...  [in template "8911408109993434201#23484949#23489037" in macro "displayResourceTypeTags" at line 1, column 1]
	- Reached through: @displayResourceTypeTags taxonomyCate...  [in template "8911408109993434201#23484949#23489037" at line 58, column 81]
----
1<#macro displayResourceTypeTags 
2	taxonomyCategoryBriefs 
3
4	<#if taxonomyCategoryBriefs?has_content> 
5		<#list taxonomyCategoryBriefs as taxonomyCategoryBrief> 
6			<#assign taxonomyVocabulary = taxonomyCategoryBrief.embeddedTaxonomyCategory.parentTaxonomyVocabulary.externalReferenceCode!"N/A" /> 
7 
8			<#if stringUtil.equals(taxonomyVocabulary, "RESOURCE_TYPE")> 
9				<span class="font-weight-normal label label-inverse-light label-secondary m-0 px-2 text-paragraph-sm"> 
10					${taxonomyCategoryBrief.taxonomyCategoryName} 
11				</span> 
12			</#if> 
13		</#list> 
14	</#if> 
15</#macro> 
16 
17<#function getValue contentString end start> 
18	<#assign startIndex = contentString?index_of(start) /> 
19 
20	<#if startIndex == -1> 
21		<#return "" /> 
22	</#if> 
23 
24	<#assign 
25		substring = contentString?substring(startIndex + start?length) 
26		endIndex = substring?index_of(end) 
27	/> 
28 
29	<#if endIndex == -1> 
30		<#return substring /> 
31	</#if> 
32 
33	<#return substring?substring(0, endIndex)?trim /> 
34</#function> 
35 
36<div class="search-results" id="searchResults"> 
37	<#if entries?has_content> 
38		<#list entries as searchEntry> 
39			<#assign 
40				className = searchEntry.getClassName()!"" 
41				classPK = searchEntry.getClassPK()!"" 
42				searchEntryContent = searchEntry.getContent()!languageUtil.get(locale, "no-content-preview", "No content preview") 
43				searchEntryTitle = searchEntry.getTitle()!"" 
44			/> 
45 
46			<#if searchEntryTitle?has_content> 
47				<div class="align-items-stretch pb-4 search-results-entry"> 
48					<a class="font-weight-bold search-results-entry-title text-decoration-none unstyled" href="${searchEntry.getViewURL()}&highlight=${htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords()?url('ISO-8859-1'))}"> 
49						<div class="d-flex justify-content-between search-results-entry-header"> 
50							${searchEntryTitle} 
51							<div class="search-results-entry-tags"> 
52								<#if className?contains("com.liferay.journal.model.JournalArticle")> 
53									<#assign 
54										content = searchEntryContent 
55										structuredContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=taxonomyCategoryBriefs&nestedFields=embeddedTaxonomyCategory") /> 
56 
57									<#if structuredContent??> 
58										<@displayResourceTypeTags taxonomyCategoryBriefs = structuredContent.taxonomyCategoryBriefs /> 
59									</#if> 
60								<#elseif className?contains("com.liferay.object.model.ObjectDefinition")> 
61									<#assign 
62										content = getValue(entry.getContent(), " end:", "content:") 
63										knowledgeArticle = restClient.get("/c/p2s3knowledgearticles/" + classPK + "?nestedFields=embeddedTaxonomyCategory") /> 
64 
65									<#if knowledgeArticle??> 
66										<#if knowledgeArticle.legacy?? && knowledgeArticle.legacy == true> 
67											<span class="font-weight-normal label label-secondary label-inverse-light m-0 px-2 text-paragraph-sm"> 
68												<@liferay_ui["message"] key="legacy" /> 
69											</span> 
70										</#if> 
71 
72										<@displayResourceTypeTags taxonomyCategoryBriefs = knowledgeArticle.taxonomyCategoryBriefs /> 
73									</#if> 
74								</#if> 
75							</div> 
76						</div> 
77 
78						<div class="description search-results-entry-content"> 
79							<#if className?contains("com.liferay.journal.model.JournalArticle")> 
80								${searchEntryContent} 
81							<#else> 
82								${getValue(searchEntryContent, " end:", "content:")} 
83							</#if> 
84						</div> 
85					</a> 
86				</div> 
87			</#if> 
88		</#list> 
89	<#else> 
90		<p class="search-results-empty"> 
91			${languageUtil.format(locale, "no-results-were-found-that-matched-the-keywords-x", htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords()), false)} 
92		</p> 
93	</#if> 
94</div> 
95 
96<style> 
97	.label-inverse-light { 
98		background-color: var(--color-state-neutral-lighten-2); 
99		border-color: var(--color-state-neutral-lighten-2); 
100		color: var(--color-neutral-8); 
101
102 
103	.search-results-entry-tags { 
104		display: flex; 
105		gap: 0.5rem; 
106		height: max-content; 
107
108</style>