/o//commerce-media/accounts/-1/images/18392797?download=true
Liferay Akismet
DXP App
This app integrates Liferay with Akismet. Akismet is a web-based service
which automatically detects and eliminates spam from your Liferay
message boards, blogs, and wikis. To use this app, obtain an API key
from akismet.com and configure it via Control Panel. Once this app is
installed and enabled, each forum post, or comment on content such as
blogs and wikis will be passed through Akismet. If the post is detected
as spam, it will be rejected with a helpful error message.
Internet access is required for this app to work.
This app will appear in your Control Panel once installed.
Internet access is required for this app to work.
This app will appear in your Control Panel once installed.
DEVELOPER
DEVELOPER
21.11.2024 17:35
Published date
21.11.2024 17:35
Published Date
21.11.2024 17:35
SUPPORTED OFFERINGS
Liferay PaaS, Liferay Self-Hosted
Supported Versions
6.2
Resource Requirements
Virhe tapahtui prosessoidessa esitysmallia.
The following has evaluated to null or missing: ==> channel.items [in template "3192443#3192485#null" at line 18, 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 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
EE
PRICE
Free
help & support
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.