Ruta de navegació
Publicador de continguts
Publicador de continguts
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> layoutLocalService.fetchLayout(getterUtil.getLong(layoutGroup), getterUtil.getBoolean(layoutType), getterUtil.getLong(layoutId)) [in template "20155#20195#27437" at line 97, column 67]
----
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 pageLayout = layoutLocalServi... [in template "20155#20195#27437" at line 97, column 45]
----
1<#-- =========================
2 Variables base (Velocity -> FreeMarker)
3 ========================= -->
4<#assign user = themeDisplay.getUser() />
5<#assign url = themeDisplay.getURLCurrent() />
6
7<#assign currentUrl = themeDisplay.getURLCurrent() />
8<#assign portalUrl = themeDisplay.getPortalURL() />
9
10<#-- Obtener solo la parte base sin parámetros -->
11<#assign baseUrl = currentUrl />
12<#if currentUrl?contains("?")>
13 <#assign baseUrl = currentUrl?substring(0, currentUrl?index_of("?")) />
14</#if>
15
16<#-- Construimos backUrl -->
17<#assign escapedBaseUrl = htmlUtil.escapeURL(portalUrl + baseUrl) />
18
19<#assign queryString = "?backUrl=" + escapedBaseUrl />
20
21<#-- Si existe doAsUserId modificamos el parámetro -->
22<#assign doAsUserId = themeDisplay.getDoAsUserId() />
23<#if validator.isNotNull(doAsUserId)>
24 <#assign queryString = "&backUrl=" + escapedBaseUrl />
25</#if>
26
27<#-- emp param para guest -->
28<#assign companyCollectiveHash = "" />
29<#assign companyHashUrl = "" /><#if user.isDefaultUser()>
30 <#assign url = themeDisplay.getURLCurrent() />
31 <#assign companyCollectiveHash = paramUtil.get(renderRequest, "emp", "") />
32 <#assign companyHashUrl = "emp=${companyCollectiveHash}" />
33 <#assign queryString = queryString + "&emp=" + companyCollectiveHash />
34<#else>
35 <#assign companyHashUrl = "" />
36</#if>
37
38<div class="distributorPage-box section section-main-services">
39 <div class="container">
40 <div class="row-fluid">
41 <#if entries?has_content>
42 <#assign counter = 0 />
43 <#list entries as entry>
44 <#assign counter = counter + 1 />
45 <#assign renderer = entry.getAssetRenderer() />
46 <#assign className = renderer.getClassName() />
47 <#if className == "com.liferay.journal.model.JournalArticle" >
48 <#assign journalArticle = renderer.getArticle() />
49 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale("${locale}")) />
50 <#assign rootElement = document.getRootElement() />
51 <#if (counter % 2 != 0)>
52 <#assign dinamicClass = "section-main-services-left" />
53 <#else>
54 <#assign dinamicClass = "section-main-services-right" />
55 </#if>
56 <div class="distributorPage-element span6 ${dinamicClass}">
57 <div class="block block-border block-box">
58 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Title']") />
59 <#assign fields = xPathSelector.selectNodes(rootElement) />
60 <#list fields as field>
61 <#assign titulo = field.getStringValue() />
62 </#list>
63 <h2 class="block--title">${titulo}</h2>
64 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Summary']") />
65 <#assign fields= xPathSelector.selectNodes(rootElement) />
66 <#list fields as field>
67 <#assign summary = field.getStringValue() />
68 </#list>
69 <p class="block--description">${summary}</p>
70 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='LinkTitle']") />
71 <#assign fields= xPathSelector.selectNodes(rootElement) />
72 <#list fields as field>
73 <#assign linkTitle = field.getStringValue() />
74 </#list>
75 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='LinkType']") />
76 <#assign fields= xPathSelector.selectNodes(rootElement) />
77 <#list fields as field>
78 <#assign linkType = field.getStringValue() />
79 </#list>
80 <#if linkType?trim == "interno" >
81 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='LinkInterno']") />
82 <#assign fields= xPathSelector.selectNodes(rootElement) />
83 <#list fields as field>
84 <#assign fieldValue = field.getStringValue() />
85 <#if fieldValue?has_content>
86 <#assign layoutList = fieldValue?eval />
87 <#assign layoutGroup = layoutList.groupId />
88 <#assign layoutType = layoutList.privateLayout />
89 <#assign layoutId = layoutList.layoutId />
90
91 <#if layoutType == true >
92 <#assign layoutType = true />
93 <#else>
94 <#assign layoutType = false />
95 </#if>
96 <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
97 <#assign pageLayout = layoutLocalService.fetchLayout(getterUtil.getLong(layoutGroup), getterUtil.getBoolean(layoutType), getterUtil.getLong(layoutId)) />
98
99 <#if pageLayout??>
100 <#assign currentURL = themeDisplay.getURLCurrent() />
101 <#assign Link = pageLayout.getRegularURL(request) />
102
103 <#assign separator = "?" />
104 <#if Link?contains("?") >
105 <#assign separator = "&" />
106 </#if>
107
108 <#if companyCollectiveHash?? >
109 <#assign finalLink = "${Link}${separator}${companyHashUrl}" />
110 <#else>
111 <#assign finalLink = "${Link}" />
112 </#if>
113 </#if>
114 </#if>
115 </#list>
116 <#else>
117 <#if linkType?trim == "externo" >
118 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='LinkExterno']") />
119 <#assign fields= xPathSelector.selectNodes(rootElement) />
120 <#list fields as field>
121 <#assign finalLink = field.getStringValue() />
122 </#list>
123 </#if>
124 </#if>
125 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='LinkBlank']") />
126 <#assign fields= xPathSelector.selectNodes(rootElement) />
127 <#list fields as field>
128 <#assign LinkBlank = field.getStringValue() />
129 </#list>
130
131 <#if LinkBlank?trim == "SI" >
132 <#assign blankText = "target='_blank'" />
133 <#else>
134 <#assign blankText = "" />
135 </#if>
136
137 <#if ( Link?? && Link?trim != "" )>
138 <#assign backUrlQuery = queryString />
139 <#if finalLink?contains("?")>
140 <#assign backUrlQuery = backUrlQuery?replace("\\?", "&", "r") />
141 </#if>
142
143 <a href="${finalLink}${backUrlQuery}" class="block--link" ${blankText}>${linkTitle}</a>
144 <#else>
145 <#-- ##LinkNoDefinido -->
146 </#if>
147 </div>
148 </div>
149 <#if (counter % 2 == 0)>
150 </div>
151 </div>
152 </div>
153 <div class="distributorPage-box section section-main-services">
154 <div class="container">
155 <div class="row-fluid">
156 </#if>
157 </#if>
158 </#list>
159 </#if>
160 </div>
161 </div>
162</div>