Galería de vídeos

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> else [in template "10136#10174#176820" at line 34, column 3] ---- 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: #{else} [in template "10136#10174#176820" at line 34, column 1] ----
1## Calculamos el elemento por defecto.
2#set($foo=1)
3#set($porDefecto= 1)
4#set($yaespordefecto = false)
5#foreach($ListaItem in $TituloVideoImagen.getSiblings())
6## Inicio de la senal para la multimedia por defecto.
7 #if ($ListaItem.VideoImagenPrincipalPorDefecto.data == "true" && $yaespordefecto == false)
8 #set($porDefecto=$foo)
9 #set($yaespordefecto = true)
10 #end
11#set($foo=$foo +1)
12#end
13## En caso de no tener item alguno por defecto
14#set ($itempordefecto_miniatura = "")
15#set ($itempordefecto_grande = "")
16#set ($itempordefecto_informacion = "")
17#if ($yaespordefecto == false)
18## No hay item alguno por defecto. Colocamos uno nostros, el primero de todos.
19 #set ($itempordefecto_miniatura = "id='miniatura_activa'")
20 #set ($itempordefecto_grande = "active")
21 #set ($itempordefecto_informacion = "active")
22#end
23## Image Available
24#set($noImageAvailable = "/o/unav-principal-theme/custom/legacy/themes/classic/images/aui/blankimage.png")
25## Inicio del contador principal -------------------------------------------------------------------
26#set($foo=0)
27## si ya hay mas de item por defecto, colocamos unicamente el primero.
28#set($yaespordefecto = false)
29## ----------------------------------------------------------------------------
30## --------------------- Zona Multi-idioma ------------------------------------
31#set($textoInfoBajobtn = "")
32#if($locale=="en_GB" || $locale=="en_US")
33 #set($textoInfoBajobtn = "Now looking")
34#{else}
35 #set($textoInfoBajobtn = "Estás viendo")
36#end
37## Inicio codigo comun del carrusel.
38
39
40<link rel="stylesheet" type="text/css" href="/o/unav-principal-theme/css/custom/legacy/cssEstructura004.css" />
41<script type="text/javascript">
42 $(document).ready(function () {
43 //jCarousel
44 $('#carrusel_izqbjboton$reserved-article-id.data').jcarousel({
45 vertical: true,
46 start: $porDefecto,
47 visible: 4,
48 scroll: 1,
49 initCallback: mycarousel_initCallback
50 });
51
52 //Carousel con las imagenes en pequeno/grande
53 $('div#slideshow-carousel-izqbjbtn.$reserved-article-id.data li a').click(function () {
54 $('div#slideshow-main-izqbjbtn.$reserved-article-id.data li').removeClass('active');
55 $('div#slideshow-main-izqbjbtn.$reserved-article-id.data li.' + $(this).attr('rel')).addClass('active');
56 $('div#slideshow-carousel-izqbjbtn.$reserved-article-id.data li a').removeClass('active');
57 $('div#slideshow-carousel-izqbjbtn.$reserved-article-id.data li a.' + $(this).attr('rel')).addClass('active');
58 $('div#slideshow-carousel-descr-izqbjbtn.$reserved-article-id.data li').removeClass('active');
59 $('div#slideshow-carousel-descr-izqbjbtn.$reserved-article-id.data li.' + $(this).attr('rel')).addClass('active');
60 return false;
61 });
62
63 if ($('div#slideshow-carousel-izqbjbtn.$reserved-article-id.data li a').size() <= 4) {
64 $('div#slideshow-carousel-izqbjbtn.$reserved-article-id.data div.jcarousel-prev-disabled').remove();
65 $('div#slideshow-carousel-izqbjbtn.$reserved-article-id.data div.jcarousel-next-disabled').remove();
66 }
67
68});
69//Carousel Inicio y funcionamiento de capas
70function mycarousel_initCallback(carousel) {
71 // Pause autoscrolling si el usuario mueve el curso sobre la imagen.
72 carousel.clip.hover(function() {
73 carousel.stopAuto();
74 }, function() {
75 carousel.startAuto();
76 });
77}
78
79function pararjwp() {
80## var i = 0;
81##$f("*").each(function() { $f(i).stop(); i++; });
82$("iframe.player").each(function() {
83 var src= $(this).attr('src');
84 $(this).attr('src',src);
85});
86$('video.player').each(function() {
87 $(this).get(0).pause();
88});
89
90}
91
92</script>
93
94<div class="carrusel_drch_bajobtn_detalle md-inner">
95 <div id="carrusel_drch_bajobtn" class="bd">
96 <!-- Principal -->
97 <div class="md video-carousel">
98 <div id="slideshow-main-izqbjbtn" class="$reserved-article-id.data">
99 <ul>
100## -------------------------------------------------------------------------------------------------
101## Inicio del foreach carrusel principal -----------------------------------------------------------
102## -------------------------------------------------------------------------------------------------
103 #set($contVid = 0)
104#foreach($ListaItem in $TituloVideoImagen.getSiblings())
105 #set($contVid = $contVid+1)
106## Booleano iniciando valor a falso para item a mostrar por defecto en la carga inicial del carrusel.
107 ## Inicio de la senal para la multimedia por defecto.
108 #if ($ItemporDefecto.equals("active"))
109 #set($yaespordefecto = true)
110 #end
111 ## Reiniciamos el item.
112 #set($ItemporDefecto="")
113 #if ($ListaItem.VideoImagenPrincipalPorDefecto.data == "true" && $yaespordefecto == false)
114 #set($ItemporDefecto="active")
115 #end
116 ## Fin multimedia por defecto.
117 <li class="p$foo $ItemporDefecto $itempordefecto_grande">
118 ## Comprobamos si tenemos multimedia.
119 #set($bMultimedia=false)
120 ## Obtenemos las imagenes en caso de tenerlos.
121 #foreach ($imagenes in $ListaItem.CheckImagen.getSiblings())
122 #if ($imagenes.getData() == "true")
123 #set($bMultimedia=true)
124 #set($imagenDelCarrusel = $imagenes.Imagen.getData())
125 ## Comprobamos si tenemos imagen para colocarla, sino optamos por la BLANKIMAGE = noImageAvailable.
126 #if ($imagenDelCarrusel.equals(""))
127 #set($imagenDelCarrusel = $noImageAvailable)
128 #end
129
130
131 #set ($IGImageLocalService = $serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService"))
132 #set ($url = $getterUtil.getString($imagenDelCarrusel))
133 #set ($uuid = $getterUtil.getString($httpUtil.getParameter($url, "uuid", false)))
134 #set ($groupId = $getterUtil.getLong($httpUtil.getParameter($url, "groupId", false)))
135 #set ($imageObj = $IGImageLocalService.getDLFileEntryByUuidAndGroupId($uuid, $groupId))
136 #set ($fileNameObj = $imageObj.getTitle())
137 #set ($type = $imageObj.getExtension())
138
139 <img style="display: block;" src="$imagenDelCarrusel&fileName=$fileNameObj.$type" width="460px" height="307px" alt="$ListaItem.TextoPieVideoImagen.getData()">
140 <div id="metaInfoData$contVid$reserved-article-id.data" class="mInfo" style="height:auto;">
141 </div>
142 <div id="moreInfoData$contVid$reserved-article-id.data" class="moreInfo" style="display:none;">
143 </div>
144 #end
145 #end
146 #foreach ($videos in $ListaItem.CheckVideo.getSiblings())
147 #if (($bMultimedia == false) && ($videos.getData() == "true"))
148 #set($bMultimedia=true)
149 ## En caso de no obtener video alguno, colocamos la imagen de BLANKIMAGE = noImageAvailable.
150 #if($validator.isNull($videos.VideoBiblioteca.getData()) && $validator.isNull($videos.VideoYouTube.getData()) )
151 <img src="$noImageAvailable" width="460px" height="307px" alt="$ListaItem.TextoPieVideoImagen.getData()">
152 #else
153 #if($validator.isNotNull($videos.VideoBiblioteca.getData()))
154 <video controls class="player" id="related$reserved-article-id.data$contVid" style="width:100%;height:307px;display:block;">
155 <source src="$videos.VideoBiblioteca.getData()" type="video/mp4">
156 <source src="$videos.VideoBiblioteca.getData()" type="video/ogg">
157 Your browser does not support the video tag.
158 </video>
159 #else
160 <iframe id="related$reserved-article-id.data$contVid" type="text/html" style="width:100%;height:307px;display:block;" class="player" src="" frameborder="0" allowfullscreen></iframe>
161 #set($vid = $videos.VideoYouTube.getData())
162 ################## YOUTUBE PARSER JAVASCRIPT ###################
163 <script>
164 $(document).ready(function () {
165 var url = '$vid';
166 var id = url.split(RegExp("/.*(?:youtu.be\\/|v\\/|u/\\w/|embed\\/|watch\\?.*&?v=)"))[1].split("&")[0];
167 id = "https://www.youtube.com/embed/"+id;
168
169 $("#related$reserved-article-id.data$contVid").attr("src", id);
170 });
171
172 </script>
173 #end
174 ##<div id="related$reserved-article-id.data$contVid" class="player" href="$vid" style="height:307px;display:block;min-height:initial;"></div>
175
176 <div id="metaInfoData$contVid$reserved-article-id.data" class="mInfo"></div>
177 <div id="moreInfoData$contVid$reserved-article-id.data" class="moreInfo" style="display:none;">
178 </div>
179 #end
180 #end
181 #end
182 ## Comprobamos si tenemos imagen para colocarla, sino optamos por la BLANKIMAGE = noImageAvailable.
183 #if ($bMultimedia == false)
184 <img src="$noImageAvailable" width="460px" height="307px" alt="$ListaItem.TextoPieVideoImagen.getData()">
185 #end
186 </li>
187## Limpiamos el item por defecto
188#set($itempordefecto_grande = "")
189## Contador de pasadas para no repetir item.
190#set($foo=$foo +1)
191## fin del foreach carrusel principal --------------------------------------------------------------
192#end
193 </ul>
194 </div>
195 </div>
196 <!-- / Principal -->
197 <!-- Miniaturas -->
198 <div id="slideshow-carousel-izqbjbtn" class="thumbs-list $reserved-article-id.data">
199 <ul id="carrusel_izqbjboton$reserved-article-id.data" class="jcarousel jcarousel-skin-tango">
200## -------------------------------------------------------------------------------------------------
201## Inicio del foreach carrusel miniatura -----------------------------------------------------------
202## -------------------------------------------------------------------------------------------------
203## Iniciamos contador de las miniaturas
204#set($foo=0)
205## si ya hay mas de item por defecto, colocamos unicamente el primero.
206#set($yaespordefecto = false)
207#set($activo = "")
208#foreach($ListaItem in $TituloVideoImagen.getSiblings())
209 ## Inicio de la senal para la multimedia por defecto.
210 #if ($ItemporDefecto.equals("id='miniatura_activa'"))
211 #set($yaespordefecto = true)
212 #end
213 #set($ItemporDefecto="")
214 #if ($ListaItem.VideoImagenPrincipalPorDefecto.data == "true" && $yaespordefecto == false)
215 #set($ItemporDefecto="id='miniatura_activa'")
216 #end
217 #if ((!$ItemporDefecto.equals("")) || (!$itempordefecto_miniatura.equals("")))
218 #set($activo = "active")
219 #{else}
220 #set($activo = "")
221 #end
222 ## Comprobamos si tenemos multimedia.
223 #set($bMultimedia=false)
224 ## Obtenemos las imagenes en caso de tenerlos.
225 #foreach ($imagenes in $ListaItem.CheckImagen.getSiblings())
226 #if ($imagenes.getData()=="true")
227 #set($bMultimedia=true)
228 #set($imagenDelCarrusel = $imagenes.Imagen.getData())
229 ## Comprobamos si tenemos imagen para colocarla, sino optamos por la BLANKIMAGE = noImageAvailable.
230 #if ($imagenDelCarrusel.equals(""))
231 #set($imagenDelCarrusel = $noImageAvailable)
232 #end
233 <li>
234 <a class="p$foo $activo" href="#" rel="p$foo" $ItemporDefecto $itempordefecto_miniatura onclick="javascript:pararjwp();">
235
236 #set ($IGImageLocalService = $serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService"))
237 #set ($url = $getterUtil.getString($imagenDelCarrusel ))
238 #set ($uuid = $getterUtil.getString($httpUtil.getParameter($url, "uuid", false)))
239 #set ($groupId = $getterUtil.getLong($httpUtil.getParameter($url, "groupId", false)))
240 #set ($imageObj = $IGImageLocalService.getDLFileEntryByUuidAndGroupId($uuid, $groupId))
241 #set ($fileNameObj = $imageObj.getTitle())
242 #set ($type = $imageObj.getExtension())
243
244 <img src="$imagenDelCarrusel&fileName=$fileNameObj.$type" width="105px" height="76px" alt="$ListaItem.TextoPieVideoImagen.getData()" $ItemporDefecto $itempordefecto_miniatura>
245 #if(!$ListaItem.FechaVideoImagen.getData().contains('0000')) <span class="date">${ListaItem.FechaVideoImagen.getData()}</span> #end
246 #if ($ListaItem.CategoriaVideoImagen.getData().equals('Economia'))
247 #set($valorCategoriaVideoImagen= 'Económicas')
248 #else
249 #set($valorCategoriaVideoImagen= $ListaItem.CategoriaVideoImagen.getData().replace('_',' '))
250 #end
251 <span class="category">$valorCategoriaVideoImagen</span>
252 <span class="title">${ListaItem.getData()}</span>
253 </a>
254 </li>
255 #end
256 #end
257 ## Obtenemos los videos en caso de tenerlos.
258 #foreach ($videos in $ListaItem.CheckVideo.getSiblings())
259 ## comprobamos si ya hemos cargado previamente la imagen.
260 #if (($bMultimedia == false) && ($videos.getData() == "true"))
261 #set($bMultimedia = true)
262 #set($miniaturavideo = "")
263 #set($idVideo="")
264 #if ($videos.VideoYouTube.getData() != "")
265 #set($lastIndex = $videos.VideoYouTube.getData().lastIndexOf('/') + 1 )
266 #if($lastIndex>=0)
267 #set($idVideo = $videos.VideoYouTube.getData().substring($lastIndex) )
268 #end
269 ## Url de las imagenes de Youtube estaticas.
270 #set($miniaturavideo = "https://img.youtube.com/vi/" + $idVideo + "/default.jpg")
271 #{else}
272 #set($miniaturavideo = $videos.MiniaturaVideoImagen.getData())
273 #end
274 #if ($miniaturavideo.equals(""))
275 #set($miniaturavideo = $noImageAvailable)
276 #end
277 <li>
278 <a class="p$foo $activo" href="#" rel="p$foo" $ItemporDefecto $itempordefecto_miniatura onclick="javascript:pararjwp();">
279 <img src="$miniaturavideo" width="105px" height="76px" alt="$ListaItem.TextoPieVideoImagen.getData()" $ItemporDefecto $itempordefecto_miniatura>
280 #if(!$ListaItem.FechaVideoImagen.getData().contains('0000')) <span class="date">${ListaItem.FechaVideoImagen.getData()}</span> #end
281 #if ($ListaItem.CategoriaVideoImagen.getData().equals('Economia'))
282 #set($valorCategoriaVideoImagen= 'Económicas')
283 #else
284 #set($valorCategoriaVideoImagen= $ListaItem.CategoriaVideoImagen.getData().replace('_',' '))
285 #end
286 <span class="category">$valorCategoriaVideoImagen</span>
287 <span class="title">${ListaItem.getData()}</span>
288 </a>
289 </li>
290 #end
291 #end
292 ## Comprobamos si tenemos imagen para colocarla, sino optamos por la BLANKIMAGE = noImageAvailable.
293 #if ($bMultimedia == false)
294 <li>
295 <a class="p$foo $activo" href="#" rel="p$foo" $ItemporDefecto $itempordefecto_miniatura onclick="javascript:pararjwp();">
296 <img src="$noImageAvailable" width="105px" height="76px" alt="$ListaItem.TextoPieVideoImagen.getData()" $ItemporDefecto $itempordefecto_miniatura>
297 #if(!$ListaItem.FechaVideoImagen.getData().contains('0000')) <span class="date">${ListaItem.FechaVideoImagen.getData()}</span> #end
298 #if ($ListaItem.CategoriaVideoImagen.getData().equals('Economia'))
299 #set($valorCategoriaVideoImagen= 'Económicas')
300 #else
301 #set($valorCategoriaVideoImagen= $ListaItem.CategoriaVideoImagen.getData().replace('_',' '))
302 #end
303 <span class="category">$valorCategoriaVideoImagen</span>
304 <span class="title">${ListaItem.getData()}</span>
305 </a>
306 </li>
307 #end
308## Vaciamos el item por defecto
309#set ($itempordefecto_miniatura = "")
310## Contador de pasadas para no repetir item.
311#set($foo=$foo +1)
312#end
313
314 </ul>
315 </div>
316 </div>
317 <div class="ft">
318 <div class="horiz-line bgColorCorporative"></div>
319 <div id="slideshow-carousel-descr-izqbjbtn" class="$reserved-article-id.data">
320 <ul>
321## -------------------------------------------------------------------------------------------------
322## Inicio del foreach Informacion general -----------------------------------------------------------
323## -------------------------------------------------------------------------------------------------
324## Iniciamos contador de las miniaturas
325#set($foo=0)
326## si ya hay mas de item por defecto, colocamos unicamente el primero.
327#set($yaespordefecto = false)
328#foreach($ListaItem in $TituloVideoImagen.getSiblings())
329## Booleano iniciando valor a falso para item a mostrar por defecto en la carga inicial del carrusel.
330 ## Inicio de la senal para la multimedia por defecto.
331 #if ($ItemporDefecto.equals("active"))
332 #set($yaespordefecto = true)
333 #end
334 ## Reiniciamos el item.
335 #set($ItemporDefecto="")
336 #if ($ListaItem.VideoImagenPrincipalPorDefecto.data == "true" && $yaespordefecto == false)
337 #set($ItemporDefecto="active")
338 #end
339 <li class="p$foo $ItemporDefecto $itempordefecto_informacion">
340 <div class="viewing">
341 #if ($ListaItem.CategoriaVideoImagen.getData().equals('Economia'))
342 #set($valorCategoriaVideoImagen= 'Económicas')
343 #else
344 #set($valorCategoriaVideoImagen= $ListaItem.CategoriaVideoImagen.getData().replace('_',' '))
345 #end
346 <div class="video-title"><strong>${textoInfoBajobtn.toUpperCase()}: $valorCategoriaVideoImagen</strong> #if(!$ListaItem.FechaVideoImagen.getData().contains('0000')) ${ListaItem.FechaVideoImagen.getData()} #end</div>
347 </div>
348 #set($botones = $ListaItem.TextoBotonVideoImagen.getSiblings().get(0).getData())
349 #set($valorClass = "sinBotones")
350 #if($botones.equals(""))
351 #set($valorClass = "conBotones")
352 #end
353
354 <div class="heading $valorClass">
355 <h3>${ListaItem.getData()}</h3>
356 <div class="subheader"><strong>${ListaItem.TextoPieVideoImagen.getData()}</strong></div>
357 <p>${ListaItem.TextoVideoImagen.getData()}</p>
358 </div>
359 #set($foo_botones = 0)
360 #foreach ($botones in $ListaItem.TextoBotonVideoImagen.getSiblings())
361 #if ((!$botones.getData().equals("")) && (!$botones.UrlBotonVideoImagen.getData().equals("")))
362 <div class="button-gradient">
363 #if($foo_botones == 0)
364 <p><a href="$botones.UrlBotonVideoImagen.getData()" class="uppercase buttonColor"><span>$botones.getData()</span></a></p>
365 #{else}
366 <p><a href="$botones.UrlBotonVideoImagen.getData()" class="nostrong"><span>$botones.getData()</span></a></p>
367 #end
368 </div>
369 #end
370 #set($foo_botones = $foo_botones + 1)
371 #end
372 </li>
373 ## Limpiamos el item por defecto
374#set($itempordefecto_informacion = "")
375## Contador de pasadas para no repetir item.
376#set($foo=$foo +1)
377#end
378 </ul>
379 </div>
380 </div>
381</div>