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

----
Tip: It's the final [] step 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 8, column 9]
----
1<#if themeDisplay?has_content> 
2	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
3</#if> 
4 
5<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
6 
7<#if channel?has_content> 
8	<#assign channelId = channel.items[0].id /> 
9</#if> 
10 
11<#if (CPDefinition_cProductId.getData())??> 
12	<#assign productId = CPDefinition_cProductId.getData() /> 
13</#if> 
14 
15<#assign 
16	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&images.accountId=-1&nestedFields=images") 
17	productImage = product.images?filter(item -> item.tags?seq_contains("app icon"))![] 
18/> 
19 
20<#if productImage?has_content> 
21	<#assign productThumbnail = productImage[0].src?split("/o") /> 
22	<#if productThumbnail?has_content && productThumbnail?size gte 2> 
23		<#assign productThumbnail1 = "/o/${productThumbnail[1]}"!"" /> 
24	<#else> 
25		<#assign productThumbnail1 = "/o/commerce-media/default/?groupId=${scopeGroupId}" /> 
26	</#if> 
27<#else> 
28	<#if product.urlImage?has_content> 
29		<#assign productThumbnail = product.urlImage?split("/o") /> 
30		<#if productThumbnail?has_content && productThumbnail?size gte 2> 
31			<#assign productThumbnail1 = "/o/${productThumbnail[1]}"!"" /> 
32		<#else> 
33			<#assign productThumbnail1 = "/o/commerce-media/default/?groupId=${scopeGroupId}" /> 
34		</#if> 
35	<#else> 
36		<#assign productThumbnail1 = "/o/commerce-media/default/?groupId=${scopeGroupId}" /> 
37	</#if> 
38</#if> 
39 
40${productThumbnail1} 

Multilevel Menu Navigation
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 62, column 30]

----
Tip: It's the final [] step 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 62, column 9]
----
1<style> 
2	.app-container { 
3		font-size: MEDIUM; 
4
5 
6	.app-container .app-category { 
7		background-color: #e6ebf5; 
8		padding: 6px 8px 4px 
9
10 
11	.app-container .app-product-type { 
12		border-color: #2e5aac !important; 
13		color:#2e5aac; 
14		padding: 4px 8px; 
15
16 
17	@media screen and (max-width: 768px) { 
18		.app-container { 
19			font-size: small; 
20
21
22 
23	@media screen and (max-width: 576px) { 
24		.app-container { 
25			font-size: x-small; 
26
27 
28		.app-container .app-category, 
29		.app-container .app-product-type { 
30			padding: 2px 4px; 
31
32
33</style> 
34 
35<#assign 
36	PRODUCT_TYPE_CLOUD = "CLOUD" 
37	PRODUCT_TYPE_DXP = "DXP" 
38	PRODUCT_TYPE_FREE = "FREE" 
39	PRODUCT_TYPE_PAID = "PAID" 
40	VOCABULARY_PRODUCT_CATEGORY = "MARKETPLACE APP CATEGORY" 
41/> 
42 
43<#if themeDisplay?has_content> 
44	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
45</#if> 
46 
47<#assign siteName = "marketplace" /> 
48 
49<#if currentURL?has_content> 
50	<#if currentURL?contains('web')> 
51		<#assign 
52			index = 2 
53			partsUrl = currentURL?split('/') 
54			siteName = partsUrl[index..index]?join('/') 
55		/> 
56	</#if> 
57</#if> 
58 
59<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
60 
61<#if channel?has_content> 
62	<#assign channelId = channel.items[0].id /> 
63</#if> 
64 
65<#if (CPDefinition_cProductId.getData())??> 
66	<#assign productId = CPDefinition_cProductId.getData() /> 
67</#if> 
68 
69<#assign 
70	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications,categories") 
71	categories = product.categories![] 
72	productSpecifications = product.productSpecifications![] 
73/> 
74 
75<div class="app-container color-neutral-3 d-flex flex-wrap font-size-paragraph-small justify-content-between w-100"> 
76	<div class="d-flex"> 
77		<#if categories?has_content> 
78			<#list categories as category> 
79				<#if category.vocabulary?upper_case == VOCABULARY_PRODUCT_CATEGORY> 
80					<div class="app-category bg-neutral-8 border-radius-small mb-1 mr-2 px-1 rounded"> 
81						${category.name} 
82					</div> 
83				</#if> 
84			</#list> 
85		</#if> 
86 
87		<#if productSpecifications?has_content> 
88 
89			<#assign productTypes = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "type")) /> 
90 
91			<#list productTypes as productType> 
92				<#if productType.value?upper_case == PRODUCT_TYPE_DXP> 
93					<#assign 
94						icon = "dxp-svg" 
95						type = "DXP App" 
96					/> 
97				<#elseif productType.value?upper_case == PRODUCT_TYPE_CLOUD> 
98					<#assign 
99						icon = "cloud-svg" 
100						type = "Cloud App" 
101					/> 
102				</#if> 
103 
104				<#if type?has_content && icon?has_content> 
105					<div class="app-product-type border border-radius-small d-flex mb-1 mr-2 px-1 rounded"> 
106						<div class="app-product-type-icon mr-1"> 
107							<img alt="Icon" class="mb-1" src="/documents/d/${siteName}/${icon}" /> 
108						</div> 
109 
110						<div class="bg-neutral-8">${type}</div> 
111					</div> 
112				</#if> 
113			</#list> 
114		</#if> 
115	</div> 
116</div> 
18484266
The Multilevel Menu Navigation theme allows up to 4 Level menus.
It also has 3 different Color Schemes and a Sticky Footer
DEVELOPER
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 18, column 30]

----
Tip: It's the final [] step 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 18, column 9]
----
1<#if themeDisplay?has_content> 
2	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
3</#if> 
4 
5<#if currentURL?has_content> 
6	<#if currentURL?contains('web')> 
7		<#assign 
8			index = 2 
9			partsUrl = currentURL?split('/') 
10			siteName = partsUrl[index..index]?join('/') 
11		/> 
12	</#if> 
13</#if> 
14 
15<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
16 
17<#if channel?has_content> 
18	<#assign channelId = channel.items[0].id /> 
19</#if> 
20 
21<#if (CPDefinition_cProductId.getData())??> 
22	<#assign productId = CPDefinition_cProductId.getData() /> 
23</#if> 
24 
25<#assign 
26	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications") 
27	productSpecifications = product.productSpecifications![] 
28/> 
29 
30<div> 
31	<#if productSpecifications?has_content> 
32		<#assign developerNames = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "developer-name")) /> 
33 
34			<#if developerNames?has_content> 
35		  		<#list developerNames as developerName> 
36					<div class="bg-neutral-8">${developerName.value}</div> 
37		  		</#list> 
38			</#if> 
39	</#if> 
40</div> 
DEVELOPER
08/01/15 00:00
Published date
August 1, 2015
Published Date
08/01/15 00:00
SUPPORTED OFFERINGS
Self-Hosted, Self-Managed
Supported Versions
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 22, column 30]

----
Tip: It's the final [] step 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 22, column 9]
----
1<#assign 
2	VOCABULARY_PRODUCT_CATEGORY = "MARKETPLACE LIFERAY VERSION" 
3/> 
4 
5<#if themeDisplay?has_content> 
6	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
7</#if> 
8 
9<#if currentURL?has_content> 
10	<#if currentURL?contains('web')> 
11		<#assign 
12			index = 2 
13			partsUrl = currentURL?split('/') 
14			siteName = partsUrl[index..index]?join('/') 
15		/> 
16	</#if> 
17</#if> 
18 
19<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
20 
21<#if channel?has_content> 
22	<#assign channelId = channel.items[0].id /> 
23</#if> 
24 
25<#if (CPDefinition_cProductId.getData())??> 
26	<#assign productId = CPDefinition_cProductId.getData() /> 
27</#if> 
28 
29<#assign 
30	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=categories") 
31	categories = product.categories![] 
32/> 
33 
34<div class="app-container color-neutral-3 d-flex flex-wrap font-size-paragraph-small justify-content-between w-100"> 
35	<div class="d-flex"> 
36		<#if categories?has_content> 
37			<#function getVersions(version)> 
38				<#return version.vocabulary?upper_case == "MARKETPLACE-LIFERAY-VERSION"> 
39			</#function> 
40 
41			${categories?sort_by("name")?reverse?filter(getVersions)?map(version -> version.name)?join(", ")} 
42		</#if> 
43	</div> 
44</div> 
Resource Requirements
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 18, column 30]

----
Tip: It's the final [] step 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 18, column 9]
----
1<#if themeDisplay?has_content> 
2	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
3</#if> 
4 
5<#if currentURL?has_content> 
6	<#if currentURL?contains('web')> 
7		<#assign 
8			index = 2 
9			partsUrl = currentURL?split('/') 
10			siteName = partsUrl[index..index]?join('/') 
11		/> 
12	</#if> 
13</#if> 
14 
15<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
16 
17<#if channel?has_content> 
18	<#assign channelId = channel.items[0].id /> 
19</#if> 
20 
21<#if (CPDefinition_cProductId.getData())??> 
22	<#assign productId = CPDefinition_cProductId.getData() /> 
23</#if> 
24 
25<#assign 
26	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications") 
27	specifications = product.productSpecifications![] 
28/> 
29 
30<div> 
31	<#if specifications?has_content> 
32 
33		<#assign 
34			specificationCPUs = specifications?filter(item -> stringUtil.equals(item.specificationKey, "cpu")) 
35			specificationRAMs = specifications?filter(item -> stringUtil.equals(item.specificationKey, "ram")) 
36			 cpuQuantity = "" 
37				  memoryQuantity = "" 
38		/> 
39 
40		<#if specificationCPUs?has_content> 
41		 	<#list specificationCPUs as cpu> 
42				<#assign cpuQuantity = cpu.value /> 
43 
44				<#if cpuQuantity?has_content> 
45					${cpuQuantity} 
46					<#if cpuQuantity?eval gt 1> 
47						CPUS 
48					</#if> 
49 
50					<#if cpuQuantity?eval lt 2> 
51						CPU 
52					</#if> 
53				</#if> 
54		  	</#list> 
55		</#if> 
56 
57		<#if specificationRAMs?has_content> 
58		  	<#list specificationRAMs as ram> 
59				<#assign memoryQuantity = ram.value /> 
60 
61				<#if cpuQuantity?has_content && memoryQuantity?has_content >, </#if> 
62 
63				<#assign memoryQuantity = ram.value /> 
64 
65				<#if memoryQuantity?has_content> 
66					${memoryQuantity} GB RAM 
67				</#if> 
68		  	</#list> 
69		</#if> 
70	</#if> 
71</div> 
Edition
CE
PRICE
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 18, column 30]

----
Tip: It's the final [] step 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 18, column 9]
----
1<#if themeDisplay?has_content> 
2	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
3</#if> 
4 
5<#if currentURL?has_content> 
6	<#if currentURL?contains('web')> 
7		<#assign 
8			index = 2 
9			partsUrl = currentURL?split('/') 
10			siteName = partsUrl[index..index]?join('/') 
11		/> 
12	</#if> 
13</#if> 
14 
15<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
16 
17<#if channel?has_content> 
18	<#assign channelId = channel.items[0].id /> 
19</#if> 
20 
21<#if (CPDefinition_cProductId.getData())??> 
22	<#assign productId = CPDefinition_cProductId.getData() /> 
23</#if> 
24 
25<#assign 
26	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications") 
27	productSpecifications = product.productSpecifications![] 
28/> 
29 
30<div> 
31	<#if productSpecifications?has_content> 
32		<#assign priceModels = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "price-model")) /> 
33 
34		<#if priceModels?has_content> 
35		  	<#list priceModels as priceModel> 
36				<div class="bg-neutral-8">${priceModel.value}</div> 
37		  	</#list> 
38		</#if> 
39	</#if> 
40</div> 
help & support
Terms & Conditions
SHARE LINK
Copy & Share Link

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.