S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> cur_cardGroup.cardIcon.getAttribute('alt') [in template "776318#776366#PP_NEW_MODAL_HEADER" at line 39, column 77]
----
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: ${cur_cardGroup.cardIcon.getAttribute... [in template "776318#776366#PP_NEW_MODAL_HEADER" at line 39, column 75]
----
1<div class="c-calc-modal">
2 <div class="container-fluid c-calc-header__container">
3 <div class="container">
4 <header class="c-calc-header">
5 <a href="/" class="c-calc-header__logo">
6 <#if headerLogo?? && headerLogo.getData()?? && headerLogo.getData() != "">
7 <img alt="${headerLogo.getAttribute('alt')}" data-fileentryid="${headerLogo.getAttribute('fileEntryId')}" src="${headerLogo.getData()}" />
8 </#if>
9 </a>
10 <#if closeButtonText?? && closeButtonText.getData()?? && closeButtonText.getData() != "">
11 <a href="#" class="c-calc-header__close js-close-header"> <span class="icon-arrow-right"></span> ${closeButtonText.getData()}</a>
12 </#if>
13 </header>
14 </div>
15 </div>
16
17
18 <div class="section-wrapper">
19 <div class="c-buttons-text c-buttons-text--seg section-wrapper">
20 <#if title?? && title.getData()?? && title.getData() != "">
21
22 <p class="c-buttons-text__title c-buttons-text__title--insuranceCard">
23 ${title.getData()}
24 </p>
25 </#if>
26 <p class="c-buttons-text__subtitle c-buttons-text__subtitle--insuranceCard">
27 <#if subtitle?? && subtitle.getData()?? && subtitle.getData() != "">
28 ${subtitle.getData()}
29 </#if>
30 </p>
31 </div>
32
33 <div id="insuranceCard--slider">
34 <div class="owl-slider js-modal-carousel owl-carousel owl-theme owl-loaded owl-drag" id="carouselTipoSeguros">
35 <#if cardGroup.getSiblings()?has_content>
36 <#list cardGroup.getSiblings() as cur_cardGroup>
37 <div class="c-insuranceCard">
38 <div class="c-insuranceCard__image">
39 <img alt="${cur_cardGroup.cardIcon.getAttribute('alt')}" data-fileentryid="${cur_cardGroup.cardIcon.getAttribute('fileEntryId')}" src="${cur_cardGroup.cardIcon.getData()}" />
40 </div>
41 <p>
42 <#if cur_cardGroup.cardTitle?? && cur_cardGroup.cardTitle.getData()?? && cur_cardGroup.cardTitle.getData() != "">
43 ${cur_cardGroup.cardTitle.getData()}
44 </#if>
45 </p>
46 <#assign linkTarget = "_self">
47 <#assign link = "#">
48 <#if cur_cardGroup.buttonLink?? && cur_cardGroup.buttonLink.getData()?? && cur_cardGroup.buttonLink.getData() != "">
49 <#assign link = cur_cardGroup.buttonLink.getData()>
50 </#if>
51 <#if cur_cardGroup.buttonTarget?? && cur_cardGroup.buttonTarget.getData()?? && cur_cardGroup.buttonTarget.getData() != "">
52 <#assign linkTarget = cur_cardGroup.buttonTarget.getData()>
53 </#if>
54 <a target="${linkTarget}" class="button variant-contained color-blue" href="${link}">
55 <span class="button__text">
56 <#if cur_cardGroup.cardButtonText?? && cur_cardGroup.cardButtonText.getData()?? && cur_cardGroup.cardButtonText.getData() != "">
57 ${cur_cardGroup.cardButtonText.getData()}
58 </#if>
59 </span>
60 </a>
61 </div>
62 </#list>
63 </#if>
64 </div>
65 </div>
66 <div class="c-insuranceContent">
67 <p class="c-insuranceContent__text--small">
68 <#if middleText?? && middleText.getData()?? && middleText.getData() != "">
69 ${middleText.getData()}
70 </#if>
71 </p>
72 <#if secondMiddleText?? && secondMiddleText.getData()?? && secondMiddleText.getData() != "" && middleLink?? && middleLink.getData()?? && middleLink.getData() != "" >
73 <#assign linkTarget = "_self">
74 <#if middleLinkTarget?? && middleLinkTarget.getData()?? && middleLinkTarget.getData() != "">
75 <#assign linkTarget = middleLinkTarget.getData()>
76 </#if>
77 <a class="button-transparent blue" href="${middleLink.getData()}" target="${linkTarget}">
78 ${secondMiddleText.getData()}
79 <span class="icon-arrow-right icon-chevron-right c-insurance-card__srrow-icon"></span>
80 </a>
81 </#if>
82 </div>
83 <div class="container-fluid">
84 <div class="c-insuranceContentCard">
85 <div class="c-insuranceContentCard__content">
86 <#if phoneCallGroup.callTitle?? && phoneCallGroup.callTitle.getData()?? && phoneCallGroup.callTitle.getData() != "">
87 <p class="c-insuranceContentCard__title">
88 ${phoneCallGroup.callTitle.getData()}
89 </p>
90 </#if>
91
92 <#if phoneCallGroup.callSubtitle?? && phoneCallGroup.callSubtitle.getData()?? && phoneCallGroup.callSubtitle.getData() != "">
93 <p class="c-insuranceContentCard__text">
94 ${phoneCallGroup.callSubtitle.getData()}
95 </p>
96 </#if>
97 </div>
98 <#assign CallLinkTarget = "_self">
99 <#assign callLink = "#">
100 <#if phoneCallGroup.callButtonLink?? && phoneCallGroup.callButtonLink.getData()?? && phoneCallGroup.callButtonLink.getData() != "">
101 <#assign callLink = phoneCallGroup.callButtonLink.getData()>
102 </#if>
103 <#if phoneCallGroup.callButtonTarget?? && phoneCallGroup.callButtonTarget.getData()?? && phoneCallGroup.callButtonTarget.getData() != "">
104 <#assign CallLinkTarget = phoneCallGroup.callButtonTarget.getData()>
105 </#if>
106 <#if phoneCallGroup.callButtonText?? && phoneCallGroup.callButtonText.getData()?? && phoneCallGroup.callButtonText.getData() != "">
107 <a class="button variant-outlined color-blue" href="${callLink}" target="${CallLinkTarget}">
108 <span class="button__text">
109 <svg fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"> <path d="M2.41 5.19C3.37614 7.07795 4.91206 8.61386 6.8 9.58L8.27 8.11C8.46816 7.92795 8.757 7.88442 9 8C9.76807 8.25245 10.5715 8.38073 11.38 8.38C11.712 8.40397 11.976 8.66802 12 9V11.33C12 11.7 11.7 12 11.33 12C5.07261 12 0 6.92739 0 0.67C0 0.299969 0.299969 0 0.67 0H3C3.37003 0 3.67 0.299969 3.67 0.67C3.65787 1.45912 3.76921 2.24528 4 3C4.07587 3.2406 4.01017 3.50341 3.83 3.68L2.41 5.19Z" fill="#00008F"></path> </svg>
110 ${phoneCallGroup.callButtonText.getData()}
111 </span>
112 </a>
113 </#if>
114 </div>
115
116 <div class="c-insuranceContentCard">
117 <div class="c-insuranceContentCard__content">
118 <#if officeGroup.officeTitle?? && officeGroup.officeTitle.getData()?? && officeGroup.officeTitle.getData() != "">
119 <p class="c-insuranceContentCard__title">
120 ${officeGroup.officeTitle.getData()}
121 </p>
122 </#if>
123 <#if officeGroup.officeSubtitle?? && officeGroup.officeSubtitle.getData()?? && officeGroup.officeSubtitle.getData() != "">
124 <p class="c-insuranceContentCard__text">
125 ${officeGroup.officeSubtitle.getData()}
126 </p>
127 </#if>
128 </div>
129 <#assign officeLinkTarget = "_self">
130 <#assign officeLink = "#">
131 <#if officeGroup.officeButtonLink?? && officeGroup.officeButtonLink.getData()?? && officeGroup.officeButtonLink.getData() != "">
132 <#assign officeLink = officeGroup.officeButtonLink.getData()>
133 </#if>
134 <#if officeGroup.officeButtonTarget?? && officeGroup.officeButtonTarget.getData()?? && officeGroup.officeButtonTarget.getData() != "">
135 <#assign officeLinkTarget = officeGroup.officeButtonTarget.getData()>
136 </#if>
137 <#if officeGroup.officeButtonText?? && officeGroup.officeButtonText.getData()?? && officeGroup.officeButtonText.getData() != "">
138 <a target="${officeLinkTarget}" class="button variant-outlined color-blue" href="#">
139 <span class="button__text">
140 ${officeGroup.officeButtonText.getData()}
141 </span>
142 </a>
143 </#if>
144 </div>
145 </div>
146</div>
147 </div>
148
149
150
151
152<script>
153
154 $( document ).ready(function() {
155 //let abNavPrev = '<svg class="ab-nav-prev" width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-883.000000, -605.000000)"> <g transform="translate(883.000000, 605.000000)"> <g transform="translate(16.000000, 16.000000) scale(-1, 1) translate(-16.000000, -16.000000) "> <polygon points="0 0 32 0 32 32 0 32"></polygon> <polygon fill="#00008F" fill-rule="nonzero" points="13.2733333 2 10.4533333 4.82 19.6133333 14 10.4533333 23.18 13.2733333 26 25.2733333 14"></polygon> </g> </g> </g> </g></svg>';
156 //let abNavNext ='<svg class="ab-nav-next" width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-883.000000, -605.000000)"><g transform="translate(883.000000, 605.000000)"> <g transform="translate(16.000000, 16.000000) scale(-1, 1) translate(-16.000000, -16.000000) "> <polygon points="0 0 32 0 32 32 0 32"></polygon><polygon fill="#00008F" fill-rule="nonzero" points="13.2733333 2 10.4533333 4.82 19.6133333 14 10.4533333 23.18 13.2733333 26 25.2733333 14"></polygon> </g> </g> </g> </g></svg>';
157
158 let abNavPrev = '<svg width="10" height="16" viewBox="0 0 10 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9 15L2 8L9 1" stroke="#00008F" stroke-width="1.5" stroke-linecap="round"/></svg>';
159 let abNavNext = '<svg width="10" height="16" viewBox="0 0 10 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L8 8L1 15" stroke="#00008F" stroke-width="1.5" stroke-linecap="round"/></svg>';
160
161 let chevron_l = '<svg xmlns="http://www.w3.org/2000/svg" width="35px" height="35px" viewBox="0 0 24 24"><path fill="#00008F" d="M14.41 18.16L8.75 12.5l5.66-5.66l.7.71l-4.95 4.95l4.95 4.95z"/></svg>';
162 let chevron_r = '<svg xmlns="http://www.w3.org/2000/svg" width="35px" height="35px" viewBox="0 0 24 24"><path fill="#00008F" d="M14.41 18.16L8.75 12.5l5.66-5.66l.7.71l-4.95 4.95l4.95 4.95z"/></svg>';
163
164
165 let detener;
166 let ind = 0;
167 let tiempo = 3000;
168 let activarAuto = false;
169
170 let modd = document.getElementsByClassName("c-calc-modal");
171 let carr = document.getElementsByClassName('js-modal-carousel');
172
173 let evnts = ["scroll", "touchmove", "touchstart", "touchend", "mousedown", "mouseup", "dragstart", "drag", "dragend", "dragenter", "dragover", "dragleave", "drop"];
174
175
176 window.addEventListener('resize', carouselResponsive);
177
178 evnts.forEach(e => {
179 modd[0].addEventListener(e, stopcarrousel);
180 carr[0].addEventListener(e, stopcarrousel);
181 })
182
183
184 let observer = new MutationObserver(function(mutations){
185 mutations.forEach(function(mutation){
186 if(mutation.type == 'attributes' && mutation.attributeName == 'class'){
187 $('.js-modal-carousel').trigger('stop.owl.autoplay');
188 changeIco();
189 waiting();
190 }
191 })
192 })
193
194 let config = {
195 attributes: true,
196 }
197
198 observer.observe(modd[0], config);
199
200
201 carouselResponsive();
202
203 function stopcarrousel(){
204 $('.js-modal-carousel').trigger('stop.owl.autoplay');
205 waiting();
206 }
207
208 function waiting(){
209 setTimeout(function(){
210 $('.js-modal-carousel').trigger('stop.owl.autoplay');
211 },tiempo)
212 }
213
214
215 /*
216 function activeAuto(){
217
218 if(!activarAuto){
219 $('.js-modal-carousel').trigger('play.owl.autoplay', [tiempo]);
220 $('.js-modal-carousel').addClass('autoplay-enabled');
221 activarAuto = true;
222 }
223
224 } */
225
226
227 function carouselResponsive () {
228
229 let wi = window.innerWidth;
230
231 $('.js-modal-carousel').owlCarousel({
232
233 autoplay:false,
234 autoplayTimeout:tiempo,
235 autoplayHoverPause:true,
236 navText: [abNavPrev, abNavNext],
237 margin:10,
238 loop:true,
239 responsive:{
240 0:{
241 items:1,
242 center:true,
243 stagePadding: 74,
244 slideBy: 1,
245 nav:false,
246 margin: 8
247 },
248 600:{
249 items:3,
250 slideBy:1,
251 nav:false,
252 margin: 16
253 },
254 1000:{nav:true,
255 items:4,
256 slideBy:1,
257 margin: 21,
258 stagePadding: 1 //5 muestra la card completa
259 }
260 }
261 })
262
263 $('.js-modal-carousel').trigger('stop.owl.autoplay');
264 waiting();
265
266
267 }
268
269 function tinyCarouselPaging() {
270 }
271
272 function changeIco(){
273
274 $(".owl-prev").empty();
275 $(".owl-next").empty();
276
277 $(".owl-next").append(chevron_r);
278 $(".owl-prev").append(chevron_l);
279 }
280
281 });
282</script>
Manuel Campo Vidal
Doctor en Sociología (Economía Aplicada) por la Universidad Complutense de Madrid
Licenciado en Periodismo en la Universidad Autónoma de Barcelona
Ingeniero Técnico en Electrónica Industrial en la Politécnica de Cataluña.

Experiencia profesional
- Negoció y moderó en 1993 el primer debate electoral televisado entre José María Aznar y Felipe González celebrado en Antena 3
- En 2008 negoció los dos debates electorales entre José Luis Rodríguez Zapatero y Mariano Rajoy como Presidente de la Academia de Televisión
Moderador del primero de ellos - En 2011 organizó y moderó el único debate electoral televisado entre Alfredo Pérez Rubalcaba y Mariano Rajoy. Emitido por la Academia de TV como señal institucional
- En 2015 organizó y moderó uno de los debates electorales televisados entre Mariano Rajoy y Pedro Sánchez. Emitido por la Academia de TV como señal institucional
- En 2016 organizó y dirigió el Debate en las elecciones del 26 de Junio entre Mariano Rajoy, Pedro Sánchez, Albert Rivera y Pablo Iglesias.
- Presentó informativos diarios en TVE 1 de 1983 a 1986 y más tarde el programa “Punto y Aparte”
- Dirigió el programa informativo de radio Hora 25 ( Cadena Ser ) 1987-1991
- Fue director Antena 3 TV en 1992. En 1995 fue nombrado Vicepresidente, puesto en el que permaneció hasta Julio de 1997
- En 1994 creó y fue presidente del Canal Internacional de Antena 3 TV
- Creador y director de los programas Generación XXI y Soñadores, dedicados a promover los emprendedores en distintas televisiones españolas)
- En la actualidad es Presidente de la Academia de las Artes y las Ciencias de la Televisión en España
- También dirige y es profesor del Instituto de Comunicación Empresarial
- Presidente y profesor de comunicación en Next International Business School
Premios
- Premio Ondas por el programa Punto y aparte en el año 1989
- Dos premios TP de Oro, correspondientes a 1985 y 1986 como Mejor Presentador de Informativos
- Premio Mejor Comunicador "Pablo Iglesias" 1990
- Premio por el Mejor Programa Línea América de la Asociación de Periodistas Iberoamericanos en España. 1993
- Premio "Aragonés de Mérito en Letras" 2011
- Premio Ondas compartido por la dirección del programa Hora 25 en el año 2012
- Premio Emilio Castelar a la Eficacia Comunicativa. 2012
Líneas de investigación
- Autor de la tesis “Concentración de poder en el mapa mediático español” (1997-2001)
- Director “Emprendedores en la sociedad española” (2001-2006)
Publicaciones
- La cara oculta de los debates electorales. Editorial Arpa (2017)
- Adolfo Suárez: el Presidente inesperado de la Transición. Editorial RBA Libros (2012)
- ¿Por qué los profesionales no comunicamos mejor? Editorial RBA Libros (2011)
- ¿Por qué los españoles comunicamos tan mal? Editorial Plaza&Janés (2008)
- “La transición audiovisual pendiente” Ediciones B. Barcelona (1996)
- “Confidencias: La TV por dentro”. Editorial Muchnik (1986)
- “Información y Servicios Secretos en el atentado al Presidente Carrero Blanco”. Editoril Argos Vergara (1983)
- La España que hereda Felipe González. Editorial Argos Vergara (1983)
- "Simplemente María" y su repercusión en las clases trabajadoras. Editorial Avance (1975)