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