/o//commerce-media/accounts/-1/images/18398190?download=true
Features:
- 3 View Mode;
- Customizable Color ("Modern" View Mode);
- Fast access to "My Workflow Portlet";
- Asynchronous ajax call;
- Fast refresh tasks counter by single click on task number;
If you want to add portlet in your theme, use this example code:
#if ($is_signed_in)
#set ($my_portlet_id = '1_WAR_trefstatusworkflowportlet')
#set ($locPortletPreferenceService = $serviceLocator.findService("com.liferay.portal.service.PortletPreferencesLocalService"))
#set ($locPlidLong = $getterUtil.getLong($plid))
$locPortletPreferenceService.deletePortletPreferences(0, 3, $locPlidLong, $my_portlet_id)
#set ($VOID = $velocityPortletPreferences.setValue('display-style', '1'))
#set ($VOID = $velocityPortletPreferences.setValue('portletSetupShowBorders', 'false'))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-viewmode', "03"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-text', "black"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-full', "red"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-empty', "#FFCC00"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-roles-full', "red"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-coun-tasks-user-roles-empty', "#666666"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-roles-text', "white"))
##set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-show-tooltip', "false"))
$theme.runtime($my_portlet_id, '', $velocityPortletPreferences.toString())
#set ($VOID = $velocityPortletPreferences.reset())
#end
Features:
- 3 View Mode;
- Customizable Color ("Modern" View Mode);
- Fast access to "My Workflow Portlet";
- Asynchronous ajax call;
- Fast refresh tasks counter by single click on task number;
If you want to add portlet in your theme, use this example code:
#if ($is_signed_in)
#set ($my_portlet_id = '1_WAR_trefstatusworkflowportlet')
#set ($locPortletPreferenceService = $serviceLocator.findService("com.liferay.portal.service.PortletPreferencesLocalService"))
#set ($locPlidLong = $getterUtil.getLong($plid))
$locPortletPreferenceService.deletePortletPreferences(0, 3, $locPlidLong, $my_portlet_id)
#set ($VOID = $velocityPortletPreferences.setValue('display-style', '1'))
#set ($VOID = $velocityPortletPreferences.setValue('portletSetupShowBorders', 'false'))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-viewmode', "03"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-text', "black"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-full', "red"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-empty', "#FFCC00"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-roles-full', "red"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-coun-tasks-user-roles-empty', "#666666"))
#set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-color-count-tasks-user-roles-text', "white"))
##set ($VOID = $velocityPortletPreferences.setValue('statusworkflow-show-tooltip', "false"))
$theme.runtime($my_portlet_id, '', $velocityPortletPreferences.toString())
#set ($VOID = $velocityPortletPreferences.reset())
#end
Desenvolupador
Publisher Date
January 22, 2024
Deployment Method
Liferay Self-Hosted
Liferay PaaS
App Type
Versió
Versions admeses
Standard Price
Help and Support
Comparteix l'enllaç
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&productSpecifications.pageSize=-1")
27 specifications = product.productSpecifications![]
28/>
29
30<div>
31 <#if specifications?has_content>
32 <#assign
33 liferayVersionSpecification = specifications?filter(item -> stringUtil.equals(item.specificationKey, "liferay-version"))
34 />
35
36 <#if liferayVersionSpecification?has_content>
37 <#list liferayVersionSpecification as liferayVersion>
38 <#assign liferayVersionValue = liferayVersion.value />
39
40 <#if liferayVersionValue?has_content>
41 ${liferayVersionValue}<#if liferayVersion?has_next>,</#if>
42 </#if>
43 </#list>
44 </#if>
45 </#if>
46</div>
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.