/o//commerce-media/accounts/-1/images/18545849?download=true

Liferay CE Collaboration
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> channel.items  [in template "3192443#3192485#null" at line 109, column 30]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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: #assign channelId = channel.items[0].id  [in template "3192443#3192485#null" at line 109, column 9]
----
1<style> 
2	.app-container { 
3		border-color: #2e5aac !important; 
4		color: #2e5aac; 
5		font-size: MEDIUM; 
6
7 
8	.app-category { 
9		display: block; 
10		flex: 1; 
11		max-width: 200px; 
12		overflow: hidden; 
13		text-overflow: ellipsis; 
14		white-space: nowrap; 
15
16 
17	.app-container .app-category { 
18		background-color: #e6ebf5; 
19		color: #1c3667; 
20		padding: 4px 8px; 
21
22 
23	.app-container .app-product-type { 
24		min-width: 0; 
25		overflow: hidden; 
26		text-overflow: ellipsis; 
27		white-space: nowrap; 
28
29 
30	.client-extension-product-type { 
31		background-color: #FFE6C6; 
32		color: #9D4C00; 
33
34 
35	.cloud-product-type { 
36		background-color: #D1EEDC; 
37		color: #0E7835; 
38
39 
40	.composite-app-product-type { 
41		background-color: #FBE0FF; 
42		color: #720086; 
43
44 
45	.diamond-icon-container { 
46		color: #C9C9CF; 
47		height: 4px; 
48		width: 4px; 
49
50 
51	.dxp-product-type { 
52		background-color: #D1ECFA; 
53		color: #166E9E; 
54
55 
56	.low-code-configuration-product-type { 
57		background-color: #DCD7E9; 
58		color: #503690; 
59
60 
61	@media screen and (max-width: 768px) { 
62		.app-container { 
63			font-size: small; 
64
65
66 
67	@media screen and (max-width: 576px) { 
68		.app-container { 
69			font-size: x-small; 
70
71 
72		.app-container .app-category, 
73		.app-container .app-product-type { 
74			padding: 2px 4px; 
75
76
77</style> 
78 
79<#assign 
80	productTypeValues = 
81
82			"client-extension": "Client Extension", 
83			"cloud": "Cloud App", 
84			"composite-app": "Composite App", 
85			"dxp": "DXP App", 
86			"low-code-configuration": "Low-Code" 
87
88 
89	VOCABULARY_PRODUCT_CATEGORY = "MARKETPLACE-APP-CATEGORY" 
90/> 
91 
92<#if themeDisplay?has_content> 
93	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
94</#if> 
95 
96<#if currentURL?has_content> 
97	<#if currentURL?contains('web')> 
98		<#assign 
99			index = 2 
100			partsUrl = currentURL?split('/') 
101			siteName = partsUrl[index..index]?join('/') 
102		/> 
103	</#if> 
104</#if> 
105 
106<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
107 
108<#if channel?has_content> 
109	<#assign channelId = channel.items[0].id /> 
110</#if> 
111 
112<#if (CPDefinition_cProductId.getData())??> 
113	<#assign productId = CPDefinition_cProductId.getData() /> 
114</#if> 
115 
116<#assign 
117	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications,categories") 
118	categories = product.categories![] 
119	productSpecifications = product.productSpecifications![] 
120/> 
121 
122<div class="app-container color-neutral-3 d-flex flex-wrap font-size-paragraph-small justify-content-between w-100"> 
123	<div class="d-flex"> 
124		<#if productSpecifications?has_content> 
125			<#assign productTypes = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "type")) /> 
126 
127			<#list productTypes as productType> 
128				<#if productType?has_content> 
129					<#assign appType = (productTypeValues[productType.value]!) /> 
130 
131					<#if appType?has_content> 
132						<div class="align-items-center app-product-type border border-radius-small d-flex mb-1 mr-2 px-2 rounded-lg ${productType.value}-product-type"> 
133							<div class="bg-neutral-8">${appType}</div> 
134						</div> 
135					</#if> 
136				</#if> 
137			</#list> 
138		</#if> 
139 
140		<#if categories?has_content> 
141			<#assign filteredCategories = categories?filter(category -> category.vocabulary?upper_case == VOCABULARY_PRODUCT_CATEGORY) /> 
142 
143			<#if filteredCategories?has_content && appType?has_content> 
144				<span class="align-items-center d-flex justify-content-between"> 
145					<span class="align-items-center d-flex diamond-icon-container justify-content-between mr-3"> 
146						<@clay["icon"] symbol="diamond" /> 
147					</span> 
148				</span> 
149			</#if> 
150 
151			<#list categories as category> 
152				<#if category.vocabulary?upper_case == VOCABULARY_PRODUCT_CATEGORY> 
153					<span class="app-category bg-neutral-8 border-radius-small mb-1 mr-2 px-3 rounded-lg" title="${category.name}"> 
154						${category.name} 
155					</span> 
156				</#if> 
157			</#list> 
158		</#if> 
159	</div> 
160</div> 
18544891
The Liferay Collaboration suite provides applications and features that help users share ideas, implement them, and produce terrific results. Its apps such as Message Boards and Blogs help users start discussions, ask questions, share ideas, and connect with other users. Wiki allows users to share in-depth information. And Alerts and Announcements facilitate broadcasting information and notifications.

As users collaborate, they're sure to produce important files. The suite's Documents and Media Library allows users to store files, share them, and publish them. It not only works with Liferay's built-in repository but also allows you to integrate with external repositories, such CMIS repositories. Users can add and share all kinds of files, including documents, presentations, images, and videos. And the suite's Documents and Media app and Media Gallery help users display files the way they like them.

As users engage in site activities, you'll want to recognize them and connect them with other users. The suite's social networking apps and features enable you to attribute social equity to active users automatically by increasing their rank on the site. You can even highlight user activities to show your site's liveliness. The Mentions feature facilitates notifying specific users in the context of site content, discussions, and comments. The social apps also help users share their thoughts on the your sites and other social sites, such as Facebook and Twitter. Combined with the suite's collaboration and document management features, the Collaboration suite’s social features help develop awesome communities, foster high morale, and make work interesting.

Apps and Features: Activities, Alerts, Announcements, Blogs, Bookmarks, Comments, Friends/My Sites/Portal/Site Members Directory, Documents and Media, Friend Requests, Image Uploader, Invite Members, Media Gallery, Message Boards, Mentions, Microblogs, Page Flags/Comments/Ratings, Quick Note, Requests, Social Activity, User/Group Statistics, Wiki.

This suite may contain modules that depend on Foundation suite modules. This suite is available in the Liferay CE bundle.
DEVELOPER
Liferay, Inc.
DEVELOPER
21/11/24 18:12
Published date
21/11/24 18:12
Published Date
21/11/24 18:12
SUPPORTED OFFERINGS
Liferay PaaS, Liferay Self-Hosted
Supported Versions
7.0
Resource Requirements
Edition
CE
PRICE
Free
help & support
SHARE LINK
Copy & Share

HTML Example

A paragraph is a self-contained unit of a discourse in writing dealing with a particular point or idea. Paragraphs are usually an expected part of formal writing, used to organize longer prose.