Agenda de actos del Gobierno para el viernes, 22 de diciembre de 2023
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> cur_actividad.hora [in template "52896131847058#4911214#TPL_AGENDA" at line 45, column 39]
----
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: #if (cur_actividad.hora.getData()?has... [in template "52896131847058#4911214#TPL_AGENDA" at line 45, column 33]
----
1<#--
2 recuperar fecha
3 <#assign fecha_Data = getterUtil.getString(fecha.getData())>
4 <#if validator.isNotNull(fecha_Data)>
5 <#if validator.isNotNull(fecha_Data)>
6 <#assign fecha_DateObj = dateUtil.parseDate("yyyy-MM-dd", fecha_Data, locale)>
7 <div class="date">
8 <i class="fas fa-calendar-alt"></i>
9 <span class="fecha-inicio">${dateUtil.getDate(fecha_DateObj, "dd/MM/yyyy", locale)}</span>
10 </div>
11 </#if>
12 </#if>
13-->
14
15
16<#if descripcion.getData()?? && descripcion.getData() != "">
17<#-- opcion usando mal la estructura agenda e insertando todo el contenido en el mismo campo -->
18 <section class="gpa-spacer-b-3xl gpa-body-prose">
19 <div class="gpa-section-separator gpa-section-separator--primary">
20 <#if resumen.getData()?? && resumen.getData() != "">
21 <div class="gpa-body-prose-featured-lines summary">${resumen.getData()}</div>
22 </#if>
23
24 <#if descripcion.getData()?? && descripcion.getData() != "">
25 <div class="agenda-descripcion">${descripcion.getData()}</div>
26
27 </#if>
28 </div>
29 </section>
30
31<#elseif seccion.getSiblings()?has_content>
32<#-- opcion usando correctamente la estructura agenda -->
33 <section class="gpa-spacer-b-3xl">
34 <div class="gpa-section-separator gpa-section-separator--primary">
35 <#if resumen.getData()?? && resumen.getData() != "">
36 <div class="gpa-body-prose-featured-lines summary">${resumen.getData()}</div>
37 </#if>
38
39 <#list seccion.getSiblings() as cur_seccion>
40 <div class="gpa-body-prose gpa-mb-xl" id="seccion-${cur_seccion?counter}">
41 <h2>${cur_seccion.tituloSeccion.getData()}</h2>
42 <#if cur_seccion.actividad.getSiblings()?has_content>
43 <#list cur_seccion.actividad.getSiblings() as cur_actividad>
44
45 <#if (cur_actividad.hora.getData() ? has_content) || (cur_actividad.lugar.getData() ? has_content)>
46 <p><strong>
47 <#if cur_actividad.hora.getData()?? && cur_actividad.hora.getData() != "">
48 <span class="hora"><i class="fas fa-clock"></i>${cur_actividad.hora.getData()}.</span>
49 </#if>
50 <#if cur_actividad.lugar.getData()?? && cur_actividad.lugar.getData() != "">
51 <span class="lugar"><i class="fas fa-map-marker-alt"></i>${cur_actividad.lugar.getData()}.</span>
52 </#if>
53 </strong></p>
54 </#if>
55
56 <#if cur_actividad.descripcionActividad.getData()??>
57 <div class="info">${cur_actividad.descripcionActividad.getData()}</div>
58 </#if>
59 </#list>
60 </#if>
61 </div>
62 </#list>
63 </div>
64 </section>
65</#if>
66
67<style>
68 .agenda-descripcion {
69 p:has(a[name="inicio"]),
70 div[align="right"] {
71 display: none;
72 }
73 & > ul {
74 font-size: clamp(0.8888888888888888rem, calc(0.8888888888888888rem + ((0.946969696969697 - 0.8888888888888888) * ((100vw - 20rem) / (63 - 20)))), 0.946969696969697rem);
75 line-height: 1.3;
76 list-style: none !important;
77 padding-inline-start: 0 !important;
78 li {
79 position: relative;
80 padding-left: 1.25rem;
81 --tw-space-y-reverse: 0;
82 margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
83 margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
84 &::before {
85 content: '|';
86 position: absolute;
87 left: 0px;
88 top: 0px;
89 color: var(--primary-700);
90 }
91 }
92 }
93 }
94</style>
95
96
97<script>
98document.addEventListener("DOMContentLoaded", function() {
99 document.querySelectorAll('a[name]').forEach(function(anchor) {
100 var nameVal = anchor.getAttribute('name');
101 anchor.setAttribute('id', nameVal);
102 anchor.removeAttribute('name');
103 });
104});
105</script>