Publicador de continguts

Apèndix metodològic

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>&nbsp;&nbsp; 
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>&nbsp;&nbsp; 
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">&crarr;</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>