S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> report.HREFTOREPORT [in template "453207" at line 47, column 44]
----
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: ${report.HREFTOREPORT.getFriendlyUrl()} [in template "453207" at line 47, column 42]
- Reached through: #include "${templatesPath}/453207" [in template "236565#236606#199144" at line 366, column 41]
----
1<#--
2Application display templates can be used to modify the look of a
3specific application.
4
5Please use the left panel to quickly add commonly used variables.
6Autocomplete is also available and can be invoked by typing "${".
7-->
8
9<#--init template-->
10<#include "${templatesPath}/250833" />
11
12<#--functions template-->
13<#include "${templatesPath}/250837" />
14
15
16<#assign displayDate = getDisplayDateFormat( .vars['reserved-article-display-date'].data, "MMMM yyyy")>
17
18
19<#assign display="">
20<div class="container-fluid article-content article-custom-style-ot" id="content-wrapper">
21 <#assign mostar = TITLE.getSiblings()?size>
22 <#if TITLE.getSiblings()?has_content && mostar != 1>
23 <div class="col-md-1 col-sm-1 col-xs-1 navbar-container">
24 <aside id='scroll-nav' class=" article-aside hidden-sm hidden-xs" style="top: 0px;"><!-- reports -->
25 <ul class="scroll-list">
26 <li class="arrow up"><a href="#section1"><span class="fa fa-angle-up"></span></a></li>
27 <#assign lastSection = "1">
28 <#assign j = 0>
29 <#list TITLE.getSiblings() as item >
30 <#if j == 0>
31 <li data-toggle="tooltip" data-placement="right" title="" data-original-title='${Titulo.getData()}' class=""><a href='#section${j}'><span class="fa fa-circle-o"></span></a></li>
32 <#else>
33 <li data-toggle="tooltip" data-placement="right" title="" data-original-title='${j}. ${item.getData()}' class=""><a href='#section${j}'><span class="fa fa-circle-o"></span></a></li>
34 </#if>
35
36 <#assign lastSection = j>
37 <#assign j = j+1>
38 </#list>
39 <li class="arrow down"><a href="#section${lastSection}"><span class="fa fa-angle-down"></span></a></li>
40 </ul>
41 </aside><!-- /article -->
42 </div>
43 </#if>
44
45 <div class="col-md-12 col-sm-12 col-xs-12 cos-article">
46 <section class="article" >
47 <article class="scroll-nav__section row" id="section0">
48 <#-- cabecera-->
49 <#if GENERALIMAGENEW??>
50 <#if GENERALIMAGENEW.getData()?has_content >
51 <div class="banner-image" id="detail-header-img">
52 <img src="${GENERALIMAGENEW.getData()}" alt="${.vars['reserved-article-title'].data}"/>
53 </div>
54 <#else>
55 <#if GENERALIMAGE.getData()?has_content >
56 <div class="banner-image back-compability" id="detail-header-img-back">
57 <img src="${GENERALIMAGE.getData()}" alt="${.vars['reserved-article-title'].data}"/>
58 </div>
59 </#if>
60 </#if>
61 <#else>
62 <#if GENERALIMAGE.getData()?has_content >
63 <div class="banner-image back-compability" id="detail-header-img-back">
64 <img src="${GENERALIMAGE.getData()}" alt="${.vars['reserved-article-title'].data}"/>
65 </div>
66 </#if>
67 </#if>
68 <div class="header-content" id="detail-header" style="">
69 <section class="row page_content_title_observatori">
70 <div class="jumbotron document-adjunt">
71 <div class="row main">
72 <div class="col-md-8 col-sm-12 col-xs-12">
73 <div class="index-and-title">
74 <div class="category">
75 <#assign categories = entry.getCategories() />
76 <#list categories as category >
77 <#assign vocabularyId = vocabularyIdTipoC>
78 <#if category.getVocabularyId() == vocabularyId?number>
79 <p class="category">
80 ${category.getTitle(locale)}
81 </p>
82 </#if>
83 </#list>
84 </div>
85 </div>
86 <p class="description">
87 ${Titulo.getData()}
88 </p>
89 <#assign pathThemeImage = themeDisplay.getPathThemeImages() />
90 <section class="date-content">
91 <span class="posted-on">
92 <time datetime="${displayDate?cap_first}">${displayDate?cap_first}</time>
93 </span>
94 <div class="print-action hidden-sm hidden-xs">
95 <span class="">
96 <a href="#" onclick="window.print();" class=" taglib-icon">
97 <img id="bhfa__column1__0" src="${pathThemeImage}/spacer.png" alt="print">
98 </a>
99 </span>
100 </div>
101 </section>
102
103
104 <section class="clean-padding col-md-12 col-sm-12 col-xs-12">
105 <div class="last-downloads">
106 <#if DOCUMENT.getData()?has_content >
107
108 <#assign classFile=getButtonStyles(DOCUMENT.getData())>
109 <#assign targetFile="target=\"_blank\""/>
110 <#if DOCUMENT.BOTONTITLEPRINCIPAL?? && DOCUMENT.BOTONTITLEPRINCIPAL.getData()?has_content >
111 <a ${targetFile} href="${DOCUMENT.getData()}" title="${DOCUMENT.BOTONTITLEPRINCIPAL.getData()}" class="btn btn-download pushtag-download">
112 <div class="text">${DOCUMENT.BOTONTITLEPRINCIPAL.getData()}</div>
113 <#else>
114 <a ${targetFile} href="${DOCUMENT.getData()}" title="<@liferay.language key="observatoriosocial-download"/>" class="btn btn-download pushtag-download">
115 <div class="text"><@liferay.language key="observatoriosocial-download"/></div>
116 </#if>
117 <div class="icon fa fa-2x ${classFile}"></div>
118 </a>
119 </#if>
120 <#if DOCUMENT_SECOND.getData()?has_content >
121 <#assign classFile=getButtonStyles(DOCUMENT_SECOND.getData())>
122 <#assign targetFile="target=\"_blank\""/>
123 <#-- OBSERVS_W-243
124 <#assign botonTitle=""/>
125 <#if DOCUMENT_SECOND.BOTONTITLE.getData()?has_content >
126 <#assign botonTitle= DOCUMENT_SECOND.BOTONTITLE.getData()>
127 </#if>
128 -->
129 <a ${targetFile} href="${DOCUMENT_SECOND.getData()}" title="${TITLE.getData()}" class="btn btn-download pushtag-download">
130 <#if DOCUMENT_SECOND.BOTONTITLE.getData()?has_content >
131 <#-- OBSERVS_W-243
132 <div class="text">${botonTitle}</div>
133 -->
134 <div class="text"><@liferay.language key="observatoriosocial-download-backgroundpaper"/></div>
135 </#if>
136 <div class="icon fa fa-2x ${classFile}"></div>
137 </a>
138 </#if>
139 </div>
140 </section>
141
142 </div>
143 </div>
144 </div>
145
146 </section>
147 <div class="print-logo"></div>
148 </div>
149
150 <#-- contenido -->
151 <div class="col-xl-9 col-md-12 col-sm-12 col-xs-12 columna-esquerra">
152 <#if Subtitol.getData()?has_content >
153 <div class="subtitulo-content">
154 <h2>${Subtitol.getData()}</h2>
155 </div>
156 </#if>
157
158
159 <#if Autor.getSiblings()?has_content && Autor.getSiblings()[0].getData() != "">
160 <section class="autors clean-padding col-md-12 col-sm-12 col-xs-12">
161 <#assign descripcio_autor="">
162 <#list Autor.getSiblings() as autor>
163 <#if autor.Descripcio_Autor.getData()?has_content>
164 <#assign descripcio_autor= descripcio_autor + autor.getData() + ", " + autor.Descripcio_Autor.getData() + "; "/>
165 <#else>
166 <#assign descripcio_autor= descripcio_autor + autor.getData() + "; "/>
167 </#if>
168 </#list>
169 <div class="autors-content">
170 <div class="autor">
171 ${descripcio_autor}
172 </div>
173 </div>
174 </section>
175 </#if>
176
177 <#if TituloConvosWin?has_content && TituloConvosWin.getData()!="">
178 <section class="autors clean-padding col-md-12 col-sm-12 col-xs-12">
179 <div class="autor convo-winer">
180 ${TituloConvosWin.getData()}
181 </div>
182 </section>
183 </#if>
184
185 <#-- PREVIEW -->
186 <#if RESUM_PREVI??>
187 <#if getterUtil.getBoolean(RESUM_PREVI.getData())>
188 <div class="previ">
189 <h1 class="titol-previ">
190 ${RESUM_PREVI.get("SUBTITULO_PUNTOS_CLAVE").getData()}
191 </h1>
192
193 <div class="microresum-previ">
194 ${RESUM_PREVI.get("MICRORESUMEN_PUNTOS_CLAVE").getData()}
195 </div>
196
197 <div class="puntsclau-previ">
198 <@liferay.language key="observatoriosocial.puntos.clave"/>
199 </div>
200 <#assign style="col-md-12 col-sm-12 col-xs-12 row-previpunts">
201 <#-- flex no es necesario <#if RESUM_PREVI.get("PUNTO_CLAVE_IZQ")?has_content && RESUM_PREVI.get("PUNTO_CLAVE_DER")?has_content>
202 <#assign style="col-md-6 col-sm-6 col-xs-12 row">
203 </#if>-->
204 <#assign i=1>
205 <#if RESUM_PREVI.get("PUNTO_CLAVE_IZQ")?has_content>
206 <ul class="${style}">
207
208 <#list RESUM_PREVI.get("PUNTO_CLAVE_IZQ").getSiblings() as izq >
209 <li>
210 <div class="numberCircle">${i}</div>
211 ${izq.getData()}
212 </li>
213 <#assign i=i+1>
214 </#list>
215 </ul>
216 </#if>
217 <#if RESUM_PREVI.get("PUNTO_CLAVE_DER")?has_content>
218 <ul class="${style}">
219 <#list RESUM_PREVI.get("PUNTO_CLAVE_DER").getSiblings() as der >
220 <li>
221 <div class="numberCircle">${i}</div>
222 ${der.getData()}
223 </li>
224 <#assign i=i+1>
225 </#list>
226 </ul>
227 </#if>
228 <#if RESUM_PREVI.get("TITULO_GRAFICO_ITEM_PREVI")?has_content>
229 <#list RESUM_PREVI.get("TITULO_GRAFICO_ITEM_PREVI").getSiblings() as resum >
230 <div class="col-md-12 col-sm-12 col-xs-12 resum-previ">
231 <#if resum.get("GRAFICO_ITEM_PREVI").getData()?has_content>
232 <div class="resum-previ-text">
233 <div class="titol-resum">${resum.getData()}</div>
234 </div>
235 <div class="resum-previ-imatge">
236 <img src="${resum.get("GRAFICO_ITEM_PREVI").getData()}" alt="${resum.getData()}"/>
237 </div>
238 <div class="text-resum">
239 ${resum.get("TEXTO_GRAFICO_ITEM_PREVI").getData()}
240 </div>
241 <#else>
242 <div class="resum-previ-text">
243 <div class="titol-resum">${resum.getData()}</div>
244 </div>
245 <div class="text-resum">
246 ${resum.get("TEXTO_GRAFICO_ITEM_PREVI").getData()}
247 </div>
248 </#if>
249 </div>
250 </#list>
251 </#if>
252 </div>
253 <#-- TODO:: RESTA de camps de previ -->
254
255 <#-- INICI BOTONS VEURE TOT i VEURE RESUM -->
256 <#assign mostrarBoton = languageUtil.get(locale, "observatoriosocial.veure-tot")>
257 <#assign ocultarBoton = languageUtil.get(locale, "observatoriosocial.veure-resum-previ")>
258
259 <#if RESUM_PREVI_TEXT_BOTO_MOSTRAR??>
260 <#if RESUM_PREVI_TEXT_BOTO_MOSTRAR.getData()?has_content>
261 <#assign mostrarBoton = RESUM_PREVI_TEXT_BOTO_MOSTRAR.getData()>
262 </#if>
263 </#if>
264
265 <#if RESUM_PREVI_TEXT_BOTO_OCULTAR??>
266 <#if RESUM_PREVI_TEXT_BOTO_OCULTAR.getData()?has_content>
267 <#assign ocultarBoton = RESUM_PREVI_TEXT_BOTO_OCULTAR.getData()>
268 </#if>
269 </#if>
270
271 <div class="veure-tot-botons">
272 <span class="boto-veure-tot" id="boto-veure-tot-header">
273 <a id="veure-tot-header" title="${mostrarBoton}" href="#">
274 ${mostrarBoton}
275 </a>
276 </span>
277 <span class="boto-resum-previ" id="boto-resum-previ-header">
278 <a id="veure-resum-previ-header" title="${ocultarBoton}" href="#">
279 ${ocultarBoton}
280 </a>
281 </span>
282 </div>
283 <#-- FI BOTONS VEURE TOT i VEURE RESUM -->
284 <#assign display="display:none;">
285 </#if>
286 </#if>
287
288 <div id="article-total" style="display:none;">
289 <#-- - END PREVIEW -->
290 <#assign i = 0>
291 <#list TITLE.getSiblings() as item >
292 <section class="article" ><!-- reports -->
293 <article class="scroll-nav__section" id="section${i}"><!-- col-md-6 col-xs-12 -->
294 <#if item.getData()?has_content >
295 <#if i == 0>
296 <h1 class="col-md-12 col-sm-12 main-h1">${item.getData()}</h1>
297 <#else>
298 <h1 class="col-md-12 col-sm-12 main-h1">${i}. ${item.getData()}</h1>
299 </#if>
300 </#if>
301 <#list item.SUBTITLE.getSiblings() as subitem >
302 <#if subitem.getData()?has_content>
303 <h2 class="col-md-12 col-sm-12 col-xs-12">${subitem.getData()}</h2>
304 </#if>
305 <div class="article-contents col-md-12 col-sm-12 col-xs-12 row">
306 <!-- bloque 1 -->
307 <#if subitem.IMAGE.getData()?has_content >
308 <div class="col-md-12 col-sm-12 col-xs-12 row">
309 <img src="${subitem.IMAGE.getData()}" class="img-responsive image-1-columna" alt="${subitem.getData()}"/>
310 </div>
311 </#if>
312 <#if subitem.CITE.getData()?has_content>
313 <div class="col-md-12 col-sm-12 col-xs-12 row">
314 <cite class="col-md-12 col-sm-12 col-xs-12 cita-1-columna">${subitem.CITE.getData()}</cite>
315 </div>
316 </#if>
317 <#if subitem.CONTENT.getData()?has_content>
318 <div class="col-md-12 col-sm-12 col-xs-12 row"><p>${subitem.CONTENT.getData()}</p></div>
319 </#if>
320 <#if subitem.VIDEO.getData()?has_content>
321 <div class="col-md-12 col-sm-12 col-xs-12 row"><p>${subitem.VIDEO.getData()}</p></div>
322 </#if>
323 </div>
324 </#list>
325 </article><!-- /col-md-6 col-xs-12 -->
326 </section>
327 <#assign i = i+1>
328 </#list>
329
330 <#if (PeuPagina.getSiblings()?size > 1) >
331 <section class="article peu-pagina" ><!-- reports -->
332 <article class="scroll-nav__section" id=""><!-- col-md-6 col-xs-12 -->
333 <#list PeuPagina.getSiblings() as cur_PeuPagina>
334 <div class="peu-content">
335 <#if cur_PeuPagina.get("Num")?has_content >
336 <p id='${cur_PeuPagina.get("Num").getData()}' class="num-peu">
337 ${cur_PeuPagina.get("Num").getData()}. ${cur_PeuPagina.getData()}
338 <a href="#ancora-#${cur_PeuPagina.get("Num").getData()}" class="tornar-ancora">↵</a>
339 </p>
340 </#if>
341 </div>
342 </#list>
343 </article>
344 </section>
345 </#if>
346 </div>
347 <#if RESUM_PREVI??>
348 <#if getterUtil.getBoolean(RESUM_PREVI.getData())>
349 <div class="veure-tot-botons">
350 <span class="boto-resum-previ" id="boto-resum-previ-footer">
351 <a id="veure-resum-previ-footer" title="${ocultarBoton}" href="#">
352 ${ocultarBoton}
353 </a>
354 </span>
355 </div>
356 </#if>
357 </#if>
358
359 </div>
360 <#-- columna derecha -->
361 <div class="col-xl-3 col-md-12 col-sm-12 col-xs-12 columna-dreta">
362 <#--classification template-->
363 <#include "${templatesPath}/250841" />
364
365 <#--content collection template-->
366 <#include "${templatesPath}/453207" />
367
368 <#--related-content template-->
369 <#include "${templatesPath}/250845" />
370 </div>
371
372 </article>
373 </section>
374
375
376 </div>
377
378</div>
379<#--interested-content template-->
380<#include "${templatesPath}/250849" />
381
382
383<script type="text/javascript">
384 $( document ).ready(function() {
385
386 $("#boto-resum-previ-footer").hide();
387 $("#boto-resum-previ-header").hide();
388 $("#scroll-nav").hide();
389 $("#article-total").show();
390 <#if RESUM_PREVI??>
391 <#if getterUtil.getBoolean(RESUM_PREVI.getData())>
392 $("#article-total").hide();
393 <#else>
394 $("#article-total").show();
395 $("#scroll-nav").show();
396 </#if>
397 </#if>
398
399 if ($("#detail-header-img img").length >0){
400 $(".main-header-aux").html($("#detail-header-img"))
401 }
402
403 if ($("#detail-header-img-back img").length >0){
404 $(".main-header-aux").html($("#detail-header-img-back"))
405 }
406
407 $(".header-content-home").html($("#detail-header"));
408
409 $("#veure-tot-header").click(function(event) {
410 $("#boto-resum-previ-footer").show();
411 $("#boto-veure-tot-header").hide();
412 $("#boto-resum-previ-header").show();
413 $("#article-total").show();
414 $("#scroll-nav").show();
415 scrollNav();
416 event.preventDefault();
417 });
418
419 $("#veure-resum-previ-header").click(function(event) {
420 $("#boto-resum-previ-footer").hide();
421 $("#boto-veure-tot-header").show();
422 $("#boto-resum-previ-header").hide();
423 $("#article-total").hide();
424 $("#scroll-nav").hide();
425 event.preventDefault();
426 });
427
428 $("#veure-resum-previ-footer").click(function(event) {
429 $("#boto-veure-tot-header").show();
430 $("#boto-resum-previ-header").hide();
431 $("#boto-resum-previ-footer").hide();
432 $("#article-total").hide();
433 $("#scroll-nav").hide();
434 $(window).scrollTop(0);
435 event.preventDefault();
436 });
437
438 $('.cos-article a[href^="#"]').each(function() {
439 $(this).addClass( "ancora" );
440 $(this).attr("id","ancora-"+$(this).attr("href"));
441 });
442
443 $(".tornar-ancora").click(function(event){
444 var idElement = $(this).attr("href");
445 $('.ancora').each(function() {
446 if(idElement == "#"+$(this).attr("id")){
447 $('html, body').animate({
448 scrollTop: $(this).offset().top
449 }, 500);
450 }
451 });
452 event.preventDefault();
453 });
454 });
455</script>