テンプレート処理中にエラーが発生しました。
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 63, 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 viewURL = searchEntry.getViewURL()!""
45 />
46
47 <#if viewURL?contains("?")>
48 <#assign viewURL = viewURL?keep_before("?") />
49 </#if>
50
51 <#if searchEntryTitle?has_content>
52 <div class="align-items-stretch pb-4 search-results-entry">
53 <a class="font-weight-bold search-results-entry-title text-decoration-none unstyled" href="${viewURL}">
54 <div class="d-flex justify-content-between search-results-entry-header">
55 ${searchEntryTitle}
56 <div class="search-results-entry-tags">
57 <#if className?contains("com.liferay.journal.model.JournalArticle")>
58 <#assign
59 content = searchEntryContent
60 structuredContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=taxonomyCategoryBriefs&nestedFields=embeddedTaxonomyCategory") />
61
62 <#if structuredContent??>
63 <@displayResourceTypeTags taxonomyCategoryBriefs = structuredContent.taxonomyCategoryBriefs />
64 </#if>
65 <#elseif className?contains("com.liferay.object.model.ObjectDefinition")>
66 <#assign
67 content = getValue(entry.getContent(), " end:", "content:")
68 knowledgeArticle = restClient.get("/c/p2s3knowledgearticles/" + classPK + "?nestedFields=embeddedTaxonomyCategory") />
69
70 <#if knowledgeArticle??>
71 <#if knowledgeArticle.legacy?? && knowledgeArticle.legacy == true>
72 <span class="font-weight-normal label label-secondary label-inverse-light m-0 px-2 text-paragraph-sm">
73 <@liferay_ui["message"] key="legacy" />
74 </span>
75 </#if>
76
77 <@displayResourceTypeTags taxonomyCategoryBriefs = knowledgeArticle.taxonomyCategoryBriefs />
78 </#if>
79 </#if>
80 </div>
81 </div>
82
83 <div class="description search-results-entry-content">
84 <#if className?contains("com.liferay.journal.model.JournalArticle")>
85 ${searchEntryContent}
86 <#else>
87 ${getValue(searchEntryContent, " end:", "content:")}
88 </#if>
89 </div>
90 </a>
91 </div>
92 </#if>
93 </#list>
94 <#else>
95 <p class="search-results-empty">
96 ${languageUtil.format(locale, "no-results-were-found-that-matched-the-keywords-x", htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords()), false)}
97 </p>
98 </#if>
99</div>
100
101<style>
102 .label-inverse-light {
103 background-color: var(--color-state-neutral-lighten-2);
104 border-color: var(--color-state-neutral-lighten-2);
105 color: var(--color-neutral-8);
106 }
107
108 .search-results-entry-tags {
109 display: flex;
110 gap: 0.5rem;
111 height: max-content;
112 }
113</style>
Capabilities
Product
Education
Knowledge Base
Contact Us