Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> tab.Publicador [in template "34007#34042#532608" at line 80, column 62]
----
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 end = getterUtil.getInteger(t... [in template "34007#34042#532608" at line 80, column 25]
----
1<#-- LLamadas a servicios -->
2<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
3<#assign portletId = themeDisplay.getPortletDisplay().getId()/>
4
5<div class="template template-panel">
6 <div class="home-tabs">
7
8 <div class="tabs">
9 <ul>
10
11 <#assign count = 1>
12
13 <#list TabsFieldSet.getSiblings() as tab>
14
15 <#if count == 1>
16 <#assign state = "active">
17 <#else>
18 <#assign state = "normal">
19 </#if>
20 <#assign enlaceJson = jsonFactoryUtil.createJSONObject(tab.TabsFieldSetFieldSet.EnlaceFieldSet.Enlace.getData())>
21 <#assign layoutTitle = enlaceJson.getString("title")>
22 <#assign layoutFriendlyUrl = tab.TabsFieldSetFieldSet.EnlaceFieldSet.Enlace.getFriendlyUrl()>
23 <#assign link = tab.TabsFieldSetFieldSet.EnlaceFieldSet.Enlace.getFriendlyUrl()>
24
25 <li class="${state}">
26 <a id="tab-${count}" class="tab" href="${htmlUtil.escape(link)}" title="${link}">
27 <span>${layoutTitle}</span>
28 </a>
29 </li>
30
31 <#assign count = count + 1>
32
33 </#list>
34
35 </ul>
36 </div>
37
38 <div class="rss">
39
40 <#assign count = 1>
41
42 <#list TabsFieldSet.getSiblings() as tab>
43
44 <div id="rss-${count}" class="tab-rss">
45
46 <#if validator.isNotNull(tab.TabsFieldSetFieldSet.RssFieldSet.Rss.getData())>
47
48 <#if count == 1>
49 <#assign textRss = tab.TabsFieldSetFieldSet.RssFieldSet.RssFieldSetFieldSet.NombreRss.getData()>
50 <#else>
51 <#assign textRss = languageUtil.get(locale, 'suscribe')>
52 </#if>
53
54 <a href="${htmlUtil.escape(tab.TabsFieldSetFieldSet.RssFieldSet.Rss.getData())}" title="${textRss}">RSS</a>
55
56 </#if>
57
58 </div>
59
60 <#assign count = count + 1>
61
62 </#list>
63
64 </div>
65
66 <div class="portlets">
67
68 <#assign count = 100>
69
70 <#list TabsFieldSet.getSiblings() as tab>
71
72 <div id="tab-${count}" class="tab-portlet">
73
74 <#-- Portlet publicador de contenidos estructurados -->
75
76 <#assign instance = count + 4410>
77 <#assign start = 1>
78
79 <#if validator.isNotNull(tab.TabsFieldSetFieldSet.Publicador.getData())>
80 <#assign end = getterUtil.getInteger(tab.Publicador.getData())>
81 <#else>
82 <#assign end = 2>
83 </#if>
84
85 <#assign range = start..end>
86
87 <#assign size = getterUtil.getInteger(tab.TabsFieldSetFieldSet.Publicador.getData())>
88
89 <#list range as i>
90
91 <#assign portlet_id = "webcontentportlet_WAR_webcontentsportlet">
92 <#assign instance_id = instance + i>
93
94 <#if i == size>
95 <#assign iterator = "item-panel-portlet item-panel-portlet-last">
96 <#else>
97 <#assign iterator = "item-panel-portlet">
98 </#if>
99
100 <div class="${iterator}">
101 <runtime-portlet name="${portlet_id}" instance="${instance_id}" queryString="" />
102 </div>
103
104 </#list>
105
106 </div>
107
108 <#assign count = count + 100>
109
110 </#list>
111
112 </div>
113
114 <div class="more">
115
116 <#assign count = 1>
117
118 <#list TabsFieldSet.getSiblings() as tab>
119
120 <div id="more-${count}" class="tab-more">
121
122 <#if validator.isNotNull(tab.TabsFieldSetFieldSet.EnlaceFieldSet.Enlace.getData())>
123 <#assign linkDirection = tab.TabsFieldSetFieldSet.EnlaceFieldSet.Enlace.getFriendlyUrl()/>
124 <#assign enlaceJson = jsonFactoryUtil.createJSONObject(tab.TabsFieldSetFieldSet.EnlaceFieldSet.Enlace.getData())>
125 <#assign layoutTitle = enlaceJson.getString("title")>
126
127 <#if validator.isNotNull(tab.TabsFieldSetFieldSet.EnlaceFieldSet.EnlaceFieldSetFieldSet.Nombreenlace.getData())>
128 <#assign link = tab.TabsFieldSetFieldSet.EnlaceFieldSet.EnlaceFieldSetFieldSet.Nombreenlace.getData()>
129 <#else>
130 <#assign link = "leer más">
131 </#if>
132
133 <#assign nombreLink = linkDirection?split("/")>
134
135 <a href="${htmlUtil.escape(linkDirection)}" title="languageUtil.get(locale, 'go-to') ${nombreLink[1]}">
136 ${link}
137 </a>
138 </#if>
139 </div>
140
141 <#assign count = count + 1>
142
143 </#list>
144
145 </div>
146
147 </div>
148</div>
149
150<script type="text/javascript">
151 AUI().ready('aui-node',
152 function(A){
153 var tabs = A.all('${portletId} .home-tabs .tabs li');
154 if(tabs != null){
155 tabs.each(function(obj, index){
156 var e= this;
157 e.on('click', function(event){
158 event.preventDefault();
159
160 //Portlets
161 var portlets = A.all('${portletId} .home-tabs .portlets .tab-portlet');
162 portlets.each(function(pobj, pindex){
163 var pe= this;
164
165 if(index != pindex)
166 pe.addClass('hide');
167 else
168 pe.removeClass('hide');
169 });
170
171 //Read more
172 var links = A.all('${portletId} .home-tabs .more .tab-more');
173 links.each(function(pobj, pindex){
174 var pe= this;
175
176 if(index != pindex)
177 pe.addClass('hide');
178 else
179 pe.removeClass('hide');
180 });
181
182 //RSS
183 var rss = A.all('${portletId} .home-tabs .rss .tab-rss');
184 rss.each(function(pobj, pindex){
185 var pe= this;
186
187 if(index != pindex)
188 pe.addClass('hide');
189 else
190 pe.removeClass('hide');
191 });
192
193 A.all('${portletId} .home-tabs .tabs li').removeClass('active');
194 e.addClass('active');
195 });
196 });
197 }
198
199 //Portlets
200 var portlets = A.all('${portletId} .home-tabs .portlets .tab-portlet');
201 portlets.each(function(obj, index){
202 var e= this;
203 if(index!=0)
204 e.addClass('hide');
205 });
206
207 //links
208 var links = A.all('${portletId} .home-tabs .more .tab-more');
209 links.each(function(obj, index){
210 var e= this;
211 if(index!=0)
212 e.addClass('hide');
213 });
214
215 //rss
216 var rss = A.all('${portletId} .home-tabs .rss .tab-rss');
217 rss.each(function(obj, index){
218 var e= this;
219 if(index!=0)
220 e.addClass('hide');
221 });
222 });
223</script>