Capability

Commerce

Liferay DXP includes robust e-commerce capabilities. Liferay’s commerce capabilities integrate content management, digital asset management, and comprehensive commerce functionalities, empowering you to deliver diverse online shopping experiences.

Use Liferay’s Commerce features to set up a storefront, add and manage products and catalogs, configure multiple channels for sales, configure multiple forms of payment, and much more.

Feature
Deployment Approach
Capability
テンプレート処理中にエラーが発生しました。
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 35, column 81]
----
1<#macro displayResourceTypeTags taxonomyCategoryBriefs> 
2	<#if taxonomyCategoryBriefs?has_content> 
3		<#list taxonomyCategoryBriefs as taxonomyCategoryBrief> 
4			<#assign taxonomyVocabulary = taxonomyCategoryBrief.embeddedTaxonomyCategory.parentTaxonomyVocabulary.name!"N/A" /> 
5 
6			<#if taxonomyVocabulary == "Resource Type"> 
7				<span class="font-weight-normal label label-inverse-light label-secondary m-0 px-2 text-paragraph-sm"> 
8					${taxonomyCategoryBrief.taxonomyCategoryName} 
9				</span> 
10			</#if> 
11		</#list> 
12	</#if> 
13</#macro> 
14 
15<div class="search-results" id="searchResults"> 
16	<#if entries?has_content> 
17		<#list entries as searchEntry> 
18			<#assign 
19				className = searchEntry.getClassName()!"" 
20				classPK = searchEntry.getClassPK()!"" 
21				searchEntryContent = searchEntry.getContent()!languageUtil.get(locale, "no-content-preview", "No content preview") 
22				searchEntryTitle = searchEntry.getTitle()!"" 
23			/> 
24 
25			<#if searchEntryTitle?has_content> 
26				<div class="align-items-stretch pb-4 search-results-entry"> 
27					<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'))}"> 
28						<div class="search-results-entry-header d-flex justify-content-between"> 
29							${searchEntryTitle} 
30							<div class="search-results-entry-tags"> 
31								<#if className?contains("com.liferay.journal.model.JournalArticle")> 
32									<#assign structuredContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=taxonomyCategoryBriefs&nestedFields=embeddedTaxonomyCategory") /> 
33 
34									<#if structuredContent??> 
35										<@displayResourceTypeTags taxonomyCategoryBriefs=structuredContent.taxonomyCategoryBriefs /> 
36									</#if> 
37								<#elseif className?contains("com.liferay.object.model.ObjectDefinition")> 
38									<#assign knowledgeArticle = restClient.get("/c/p2s3knowledgearticles/" + classPK + "?nestedFields=embeddedTaxonomyCategory") /> 
39 
40									<#if knowledgeArticle??> 
41										<#if knowledgeArticle.legacy?? && knowledgeArticle.legacy == true> 
42											<span class="font-weight-normal label label-secondary label-inverse-light m-0 px-2 text-paragraph-sm"> 
43												<@liferay_ui["message"] key="legacy" /> 
44											</span> 
45										</#if> 
46 
47										<@displayResourceTypeTags taxonomyCategoryBriefs=knowledgeArticle.taxonomyCategoryBriefs /> 
48									</#if> 
49								</#if> 
50							</div> 
51						</div> 
52 
53						<div class="description search-results-entry-content"> 
54							${searchEntryContent} 
55						</div> 
56						<#if searchEntry.getPublishedDateString()?has_content> 
57							<div class="pt-2 published-date"> 
58								${languageUtil.get(locale, "published-date")}: ${searchEntry.getPublishedDateString()} 
59							</div> 
60						</#if> 
61					</a> 
62				</div> 
63			</#if> 
64		</#list> 
65	<#else> 
66		<p class="search-results-empty"> 
67			${languageUtil.format(locale, "no-results-were-found-that-matched-the-keywords-x", htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords()), false)} 
68		</p> 
69	</#if> 
70</div> 
71 
72<style> 
73.label-inverse-light { 
74	background-color: var(--color-state-neutral-lighten-2); 
75	border-color: var(--color-state-neutral-lighten-2); 
76	color: var(--color-neutral-8); 
77
78 
79.search-results-entry-tags { 
80	display: flex; 
81	gap: 0.5rem; 
82
83</style>