/o//commerce-media/accounts/-1/images/18607867?download=true
api/jsonws extender
DXP App
/api/jsonws page is so important but it's still the same by too many
years nad developers community needs a smart helper page.
I built a bundle to introduce new layout, json sintax highlight, clipboard copy & previous params recall.
Enjoy for a better developer #UX.
Features:
- Compact design, fluid layout, method details with accordion
- JSON result sintax highlight
- Fast clipboard copy
- Recall for previous call parameters (using local storage)
- Print call elapsed time and response chars size
- View current user (logged or guest)
- View Liferay.Service results from success or error callback function
'- Javascript Example' page with the complete schema
Tested on Liferay 7.1.x & 7.2.x CE
I built a bundle to introduce new layout, json sintax highlight, clipboard copy & previous params recall.
Enjoy for a better developer #UX.
Features:
- Compact design, fluid layout, method details with accordion
- JSON result sintax highlight
- Fast clipboard copy
- Recall for previous call parameters (using local storage)
- Print call elapsed time and response chars size
- View current user (logged or guest)
- View Liferay.Service results from success or error callback function
'- Javascript Example' page with the complete schema
Tested on Liferay 7.1.x & 7.2.x CE
DEVELOPER
S'ha produït un error mentre es processava la plantilla.
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 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
21/11/24 18:35
Published date
21/11/24 18:35
Published Date
21/11/24 18:35
SUPPORTED OFFERINGS
Liferay PaaS, Liferay Self-Hosted
Supported Versions
7.2,
7.1
Resource Requirements
Edition
CE
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.