Atrás

Medios de transporte

Se ha producido un error al procesar la plantilla.
Expression Imagen.getChild('ImagenTextoAlternativo') is undefined on line 208, column 56 in 20157#20197#39615.
1<#-- 
2Generico_novedad_detalle_tpl 
3Estructura : Generico_novedad_str 
4--> 
5<#assign serviceContext = staticUtil["com.liferay.portal.service.ServiceContextThreadLocal"].getServiceContext() 
6themeDisplay = serviceContext.getThemeDisplay() 
7/> 
8 
9<#assign dlFileEntryService=staticUtil[ "com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil"] /> 
10 
11    <div class="container-pages-mb"> 
12<div class="container-pages"> 
13 
14    <!-- Cabecera --> 
15    <div class="row"> 
16        <!-- Titulo --> 
17        <div class="col-xs-12 col-md-8"> 
18            <div class="block-title-prev__pages"> 
19                <h1 class="block-title"> 
20                    ${.vars['reserved-article-title'].data} 
21                    <div class="block-title-line"></div> 
22                </h1> 
23                <label class="invisible" style="position: absolute;">INSST</label> 
24            </div> 
25        </div> 
26 
27 
28        <!-- Social --> 
29        <div class="col-xs-12 col-md-4 pull-left-xs pull-right-md"> 
30            <div class="social-media"> 
31                <div class="brd-sm-share"> 
32                    <span class="sm-share">${languageUtil.get(locale,"observatorio.comun.compartir.en")}</span> 
33                </div> 
34                <div id="shareRoundIcons"></div> 
35            </div> 
36        </div> 
37    </div> 
38 
39    <!-- Fecha --> 
40    <#assign journalArticleId = .vars['reserved-article-id'].data /> 
41    <#assign journalArticleResourceLocalServiceUtil = 
42    staticUtil["com.liferay.portlet.journal.service.JournalArticleResourceLocalServiceUtil"] /> 
43    <#assign assetCategoryLocalServiceUtil = 
44    staticUtil["com.liferay.portlet.asset.service.AssetCategoryLocalServiceUtil"] /> 
45    <#assign articleResourcePK = 
46    journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, 
47    journalArticleId)/> 
48    <#assign categoryList=  assetCategoryLocalServiceUtil.getCategories("com.liferay.portlet.journal.model.JournalArticle",articleResourcePK) /> 
49    <#assign assetVocabularyLocalServiceUtil = 
50    staticUtil["com.liferay.portlet.asset.service.AssetVocabularyLocalServiceUtil"] /> 
51 
52    <#attempt> 
53        <#assign estadoVocabulary = 
54        assetVocabularyLocalServiceUtil.getGroupVocabulary(groupId, "Tipo de Contenido") /> 
55 
56 
57        <#if estadoVocabulary?has_content > 
58            <#list categoryList as categoryList> 
59                <#if categoryList.getVocabularyId() == estadoVocabulary.getVocabularyId()> 
60                    <#if languageUtil.get(locale,"portal.noticias")?upper_case == categoryList.getName()?upper_case> 
61                        <#assign Fecha_publicacion_Data = getterUtil.getLong(Fecha_de_publicacion.getData())> 
62                        <#if (Fecha_publicacion_Data > 0)> 
63 
64                            <#assign Fecha_publicacion_DateObj = dateUtil.newDate(Fecha_publicacion_Data)> 
65                            <span class="fecha-news">${dateUtil.getDate(Fecha_publicacion_DateObj, "dd/MM/yyyy", locale)}</span> 
66                        </#if> 
67                    </#if> 
68                </#if> 
69            </#list> 
70        </#if> 
71        <#recover> 
72        <#-- Error --> 
73    </#attempt> 
74    <!-- Fin fecha --> 
75 
76    <!-- Entradilla --> 
77    <div class="asset-content-informe-detalle listado-intro__wrapper"> 
78        <div class="listado-intro__text"> 
79            ${Entradilla.getData()} 
80        </div> 
81    </div> 
82</div> 
83 
84<hr class="line-separation-top-portal"> 
85 
86<!-- Cuerpo --> 
87<div class="container-pages"> 
88    <div class="asset-content-generico-detalle listado-cards__wrapper detalle-generico"> 
89        <!-- Galeria de imagenes --> 
90        <#if Imagen.getData()?has_content> 
91 
92            <div class="row"> 
93                <div class="col-xs-12"> 
94 
95                    <#if Imagen.getSiblings()?size gt 1> 
96 
97                        <!-- Galeria --> 
98                        <ul class="slider slider-single"> 
99 
100                            <#assign listado_imagenes = Imagen.getSiblings()?reverse/> 
101 
102                            <#list listado_imagenes?sort_by(["Imagen_orden", "data"]) as cur_Imagen> 
103 
104                                <#assign counter=0 /> 
105                                <#list cur_Imagen.getData()?split( "/") as y> 
106                                    <#if counter==2> 
107                                        <#assign groupId=y?number /> 
108                                    </#if> 
109                                    <#if counter==5> 
110                                        <#assign uuId=y /> 
111                                    </#if> 
112                                    <#assign counter=counter+1 /> 
113                                </#list> 
114                                <#if uuId?has_content> 
115 
116                                    <#assign uuIdTrim = uuId?trim /> 
117                                    <#assign uuIdSplit = uuIdTrim?split("?") /> 
118                                    <#assign file = dlFileEntryService.getFileEntryByUuidAndGroupId(uuIdSplit[0], groupId) /> 
119                                    <#assign dlFileEntryService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")/> 
120                                    <#assign dlFileEntry = dlFileEntryService.getFileEntry(file.getFileEntryId() )/> 
121                                    <#assign fieldsMap = dlFileEntry.getFieldsMap(dlFileEntry.getFileVersion().getFileVersionId()) /> 
122                                    <#assign currentImageAlt = cur_Imagen.getChild('ImagenTextoAlternativo').getData()?trim /> 
123 
124                                    <li> 
125                                        <#assign genericImageAtl = "Generico novedad detalle n" + .now?long?c /> 
126 
127                                        <#if !currentImageAlt?has_content || currentImageAlt == 'null'> 
128                                            <#assign currentImageAlt = genericImageAtl /> 
129                                        </#if> 
130 
131                                        <img src="${cur_Imagen.getData()}?wmode=transparent" alt="${currentImageAlt}"> 
132                                        <figcaption class="img-footer-center mt10 center"> 
133                                            <a class="ttle hidden-xs">${file.title}</a> 
134                                            <#list fieldsMap?keys as structureKey> 
135                                                <#list fieldsMap[structureKey].iterator() as field> 
136                                                    <#if field.getName() == "Pie_de_imagen"> 
137                                                        <span class="subttle">${field.getValue()}</span> 
138                                                    </#if> 
139                                                </#list> 
140                                            </#list> 
141                                        </figcaption> 
142                                    </li> 
143                                </#if> 
144                            </#list> 
145                        </ul> 
146 
147                        <!-- Seleccion de imagenes --> 
148                        <ul class="slider slider-nav hidden-xs"> 
149                            <li class="invisible" style="position: absolute;">Lista</li> 
150                            <#assign listado_imagenes = Imagen.getSiblings()?reverse/> 
151 
152                            <#list listado_imagenes?sort_by(["Imagen_orden", "data"]) as cur_Imagen> 
153 
154                                <#assign counter=0 /> 
155                                <#list cur_Imagen.getData()?split( "/") as y> 
156                                    <#if counter==2> 
157                                        <#assign groupId=y?number /> 
158                                    </#if> 
159                                    <#if counter==5> 
160                                        <#assign uuId=y /> 
161                                    </#if> 
162                                    <#assign counter=counter+1 /> 
163                                </#list> 
164                                <#if uuId?has_content> 
165 
166                                    <#assign dlFileEntryService=staticUtil[ "com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil"] /> 
167                                    <#assign uuIdTrim = uuId?trim /> 
168                                    <#assign uuIdSplit = uuIdTrim?split("?") /> 
169                                    <#assign file = dlFileEntryService.getFileEntryByUuidAndGroupId(uuIdSplit[0], groupId) /> 
170                                    <#assign dlFileEntryService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")/> 
171                                    <#assign dlFileEntry = dlFileEntryService.getFileEntry(file.getFileEntryId() )/> 
172                                    <#assign fieldsMap = dlFileEntry.getFieldsMap(dlFileEntry.getFileVersion().getFileVersionId()) /> 
173                                    <#assign currentImageAlt = cur_Imagen.getChild('ImagenTextoAlternativo').getData()?trim /> 
174 
175                                    <li> 
176                                        <#assign genericImageAtl = "Generico novedad detalle n" + .now?long?c /> 
177 
178                                        <#if !currentImageAlt?has_content || currentImageAlt == 'null'> 
179                                            <#assign currentImageAlt = genericImageAtl /> 
180                                        </#if> 
181 
182                                        <img src="${cur_Imagen.getData()}?wmode=transparent" alt="${currentImageAlt}" /> 
183                                    </li> 
184                                </#if> 
185                            </#list> 
186                        </ul> 
187                    <#else> 
188                        <!-- Una sola imagen --> 
189                        <#assign counter=0 /> 
190                        <#list Imagen.getData()?split( "/") as y> 
191                            <#if counter==2> 
192                                <#assign groupId=y?number /> 
193                            </#if> 
194                            <#if counter==5> 
195                                <#assign uuId=y /> 
196                            </#if> 
197                            <#assign counter=counter+1 /> 
198                        </#list> 
199                        <#if uuId?has_content> 
200 
201                            <#assign fileEntry=staticUtil[ "com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil"] /> 
202                            <#assign uuIdTrim = uuId?trim /> 
203                            <#assign uuIdSplit = uuIdTrim?split("?") /> 
204                            <#assign file = fileEntry.getFileEntryByUuidAndGroupId(uuIdSplit[0], groupId) /> 
205                            <#assign dlFileEntryService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")/> 
206                            <#assign dlFileEntry = dlFileEntryService.getFileEntry(file.getFileEntryId() )/> 
207                            <#assign fieldsMap = dlFileEntry.getFieldsMap(dlFileEntry.getFileVersion().getFileVersionId()) /> 
208                            <#assign currentImageAlt = Imagen.getChild('ImagenTextoAlternativo').getData()?trim /> 
209 
210                            <#assign genericImageAtl = "Generico novedad detalle n" + .now?long?c /> 
211 
212                            <#if !currentImageAlt?has_content || currentImageAlt == 'null'> 
213                                <#assign currentImageAlt = genericImageAtl /> 
214                            </#if> 
215 
216                            <img alt="${currentImageAlt}" src="${Imagen.getData()}?wmode=transparent" class="img-sin-gallery"/> 
217                            <figcaption class="img-footer-center mt10 mb20 center"> 
218                                <a class="ttle hidden-xs" tabindex="0">${file.title}</a> 
219                                <#list fieldsMap?keys as structureKey> 
220                                    <#list fieldsMap[structureKey].iterator() as field> 
221                                        <#if field.getName() == "Pie_de_imagen"> 
222                                            <span class="subttle">${field.getValue()}</span> 
223                                        </#if> 
224                                    </#list> 
225                                </#list> 
226                            </figcaption> 
227                        </#if> 
228                    </#if> 
229                </div> 
230            </div> 
231        </#if> 
232        <!-- Fin Galeria de imagenes --> 
233 
234        <!-- Cuerpo --> 
235        <div class="listado-intro__wrapper mb30"> 
236            <div class="listado-intro__text"> 
237                ${Cuerpo.getData()} 
238            </div> 
239            <#if serviceContext.getCurrentURL()?contains("accesibilidad") > 
240                <div class="pull-right"> 
241                    <#assign Fecha_de_publicacion_Data = getterUtil.getLong(Fecha_de_publicacion.getData())> 
242 
243                    <#if (Fecha_de_publicacion_Data > 0)> 
244                        <#assign Fecha_de_publicacion_DateObj = dateUtil.newDate(Fecha_de_publicacion_Data)> 
245                        <label class="fecha-news">Fecha de última Revisión: ${dateUtil.getDate(Fecha_de_publicacion_DateObj, "dd/MM/yyyy", locale)}</label> 
246                    </#if> 
247                </div> 
248            </#if> 
249        </div> 
250 
251 
252        <#if Titulo_descargas?has_content && (Titulo_descargas.getSiblings()?has_content && Titulo_descargas.getSiblings()[0].getData()?has_content)> 
253        <!-- Zona Descargas --> 
254 
255        <#list Titulo_descargas.getSiblings()?reverse as cur_Titulo_descargas> 
256 
257        <#if getterUtil.getBoolean(cur_Titulo_descargas.Descargas_plegable.getData())> 
258 
259        <!-- Zona Descargas plegable --> 
260        <div class="panel-levels mb30"> 
261            <ul class="accordion-list"> 
262                <li class="template-item"> 
263                    <div class="template-header"> 
264                        <h4> 
265                            <a role="tab" aria-expanded="true" aria-controls="panel${cur_Titulo_descargas_index}" id="accordion-content-pl-tab${cur_Titulo_descargas_index}" class="template-title" data-toggle="collapse" data-target="#collapseOne" href="#collapseOne">${cur_Titulo_descargas.getData()} 
266                                <span class="inssbt-plus-indicator-white" aria-hidden="true"></span> 
267                            </a> 
268                        </h4> 
269                    </div> 
270 
271                    <div id="panelpl${cur_Titulo_descargas_index}" class="template-body template-subpanel" role="tabpanel" aria-labelledby="accordion-content-pl-tab${cur_Titulo_descargas_index}"> 
272                        <ul class="l_group_documents__list inside-acordion row"> 
273                            <li class="invisible" style="position: absolute;">Lista</li> 
274                            <#assign titulo_descargas = cur_Titulo_descargas.Descargas.getSiblings()?reverse/> 
275 
276                            <#list titulo_descargas?sort_by([ "Descargas_orden", "data"]) as cur_Descargas> 
277                                <#if cur_Descargas.Descargas_enlace.getData()?has_content> 
278                                    <#if cur_Descargas.Descargas_enlace.getData()?starts_with( "http://") || cur_Descargas.Descargas_enlace.getData()?starts_with( "/") > 
279 
280                                        <#if cur_Descargas.Descargas_enlace.getData()?starts_with( "/")> 
281                                            <#assign descargaEnlace = themeDisplay.getPortalURL()+themeDisplay.getPathContext()+cur_Descargas.Descargas_enlace.getData()/> 
282                                        <#else> 
283                                            <#assign descargaEnlace=cur_Descargas.Descargas_enlace.getData() /> 
284                                        </#if> 
285 
286                                    <#else> 
287                                        <#assign descargaEnlace="http://" + cur_Descargas.Descargas_enlace.getData() /> 
288                                    </#if> 
289 
290                                    <li class="col-xs-12 col-md-6 l_group_documents__list--item"> 
291                                        <a href="${descargaEnlace}" class="l_group_documents__list__link"  target="_blank"> 
292                                            <#assign genericImageAtl = "Icono enlace de " + cur_Descargas.Descargas_enlace.Descargas_titulo_enlace.getData() /> 
293 
294                                            <img src="${themeDisplay.getPortalURL()}${themeDisplay.getPathContext()}/inssbt-portal-theme/images/icono-link.png" alt="${genericImageAtl}"><span>${cur_Descargas.Descargas_enlace.Descargas_titulo_enlace.getData()}</span> 
295                                        </a> 
296                                        <#if cur_Descargas.Descargas_enlace.Descargas_descr_enlace.getData()?has_content> 
297                                            <span class="l_group_documents__list__info_description">${cur_Descargas.Descargas_enlace.Descargas_descr_enlace.getData()}</span> 
298                                        </#if> 
299                                    </li> 
300                                <#else> 
301                                    <#assign counter=0 /> 
302                                    <#if cur_Descargas.getData()?has_content> 
303 
304                                        <#assign urlDataSplit = cur_Descargas.getData()?split( "/")> 
305 
306                                        <#list urlDataSplit as x> 
307                                            <#if counter==2> 
308                                                <#assign groupId=x?number /> 
309                                            </#if> 
310                                            <#if counter==5> 
311                                                <#assign uuId=x /> 
312                                            </#if> 
313                                            <#assign counter=counter+1 /> 
314                                        </#list> 
315                                        <#if uuId?has_content> 
316 
317                                            <#assign uuIdTrim = uuId?trim /> 
318                                            <#assign uuIdSplit = uuIdTrim?split("?") /> 
319                                            <#assign file = dlFileEntryService.getFileEntryByUuidAndGroupId(uuIdSplit[0], groupId) /> 
320 
321                                            <#assign iconos={"image/png":"img", 
322                                            "image/tiff":"img", 
323                                            "image/gif":"img", 
324                                            "image/jpeg":"img", 
325                                            "image/bmp":"img", 
326                                            "image/webp":"img", 
327                                            "video/x-msvideo":"video", 
328                                            "video/x-ms-wmv": "video", 
329                                            "video/quicktime":"video", 
330                                            "video/mpeg":"video", 
331                                            "video/ogg":"video", 
332                                            "video/mp4":"video", 
333                                            "video/x-flv":"video"}> 
334 
335                                            <#if iconos[file.getMimeType()]??> 
336                                                <#assign tipoIcono = iconos[file.getMimeType()]/> 
337                                            <#else> 
338                                                <#assign tipoIcono = "pdf"/> 
339                                            </#if> 
340                                            <li class="col-xs-12 col-md-6 l_group_documents__list--item"> 
341                                                <a href="${cur_Descargas.getData()}" class="l_group_documents__list__link" target="_blank"> 
342                                                    <#assign genericImageAtl = "Icono enlace de " + file.getTitle() /> 
343 
344                                                    <img src="${themeDisplay.getPortalURL()}${themeDisplay.getPathContext()}/inssbt-portal-theme/images/icono-${tipoIcono}.png" alt="${genericImageAtl}"><span>${file.getTitle()}</span> 
345                                                </a> 
346                                                <#if file.getDescription()?has_content> 
347                                                    <span class="l_group_documents__list__info_description">${file.getDescription()}</span> 
348                                                </#if> 
349                                                <span class="l_group_documents__list__info_doc">(${file.extension?upper_case}, ${si(file.size)})</span> 
350                                            </li> 
351                                        </#if> 
352                                    </#if> 
353                                </#if> 
354                            </#list> 
355                        </ul> 
356                    </div> 
357                </li> 
358            </ul> 
359        </div> 
360        <!-- Fin Zona Descargas plegable --> 
361    <#else> 
362        <!-- Zona Descargas no plegable --> 
363        <div class="l_group_documents mb30"> 
364            <h3 class="l_group_documents__title">${cur_Titulo_descargas.getData()}</h3> 
365            <ul class="l_group_documents__list row"> 
366                <li class="invisible" style="position: absolute;">Lista</li> 
367                <#assign titulo_descargas = cur_Titulo_descargas.Descargas.getSiblings()?reverse/> 
368 
369                <#list titulo_descargas?sort_by([ "Descargas_orden", "data"]) as cur_Descargas> 
370 
371                    <#if cur_Descargas.Descargas_enlace.getData()?has_content> 
372                        <#if cur_Descargas.Descargas_enlace.getData()?starts_with( "http://") || cur_Descargas.Descargas_enlace.getData()?starts_with( "/") > 
373 
374                            <#if cur_Descargas.Descargas_enlace.getData()?starts_with( "/")> 
375                                <#assign descargaEnlace = themeDisplay.getPortalURL()+themeDisplay.getPathContext()+cur_Descargas.Descargas_enlace.getData()/> 
376                            <#else> 
377                                <#assign descargaEnlace=cur_Descargas.Descargas_enlace.getData() /> 
378                            </#if> 
379                        <#else> 
380                            <#assign descargaEnlace="http://" + cur_Descargas.Descargas_enlace.getData() /> 
381                        </#if> 
382 
383                        <li class="col-xs-12 col-md-4 l_group_documents__list--item"> 
384                            <a href="${descargaEnlace}" class="l_group_documents__list__link" target="_blank"> 
385                                <#assign genericImageAtl = "Icono enlace de " + cur_Descargas.Descargas_enlace.Descargas_titulo_enlace.getData() /> 
386 
387                                <img src="${themeDisplay.getPortalURL()}${themeDisplay.getPathContext()}/inssbt-portal-theme/images/icono-link.png" alt="${genericImageAtl}"> 
388                                <span>${cur_Descargas.Descargas_enlace.Descargas_titulo_enlace.getData()}</span> 
389                            </a> 
390                            <#if cur_Descargas.Descargas_enlace.Descargas_descr_enlace.getData()?has_content> 
391                                <span class="l_group_documents__list__info_description">${cur_Descargas.Descargas_enlace.Descargas_descr_enlace.getData()}</span> 
392                            </#if> 
393                        </li> 
394                    <#else> 
395                        <#assign counter=0 /> 
396 
397                        <#if cur_Descargas.getData()?has_content> 
398                            <#assign urlDataSplit = cur_Descargas.getData()?split( "/")> 
399                            <#list urlDataSplit as x> 
400                                <#if counter==2> 
401                                    <#assign groupId=x?number /> 
402                                </#if> 
403                                <#if counter==5> 
404                                    <#assign uuId=x /> 
405                                </#if> 
406                                <#assign counter=counter+1 /> 
407                            </#list> 
408                            <#if uuId?has_content> 
409 
410                                <#assign uuIdTrim = uuId?trim /> 
411                                <#assign uuIdSplit = uuIdTrim?split("?") /> 
412                                <#assign file = dlFileEntryService.getFileEntryByUuidAndGroupId(uuIdSplit[0], groupId) /> 
413 
414                                <#assign iconos={"image/png":"img", 
415                                "image/tiff":"img", 
416                                "image/gif":"img", 
417                                "image/jpeg":"img", 
418                                "image/bmp":"img", 
419                                "image/webp":"img", 
420                                "video/x-msvideo":"video", 
421                                "video/x-ms-wmv": "video", 
422                                "video/quicktime":"video", 
423                                "video/mpeg":"video", 
424                                "video/ogg":"video", 
425                                "video/mp4":"video", 
426                                "video/x-flv":"video"}> 
427 
428                                <#if iconos[file.getMimeType()]??> 
429                                    <#assign tipoIcono = iconos[file.getMimeType()]/> 
430                                <#else> 
431                                    <#assign tipoIcono = "pdf"/> 
432                                </#if> 
433                                <li class="col-xs-12 col-md-4 l_group_documents__list--item"> 
434                                    <a href="${cur_Descargas.getData()}" class="l_group_documents__list__link" target="_blank"> 
435                                        <#assign genericImageAtl = "Icono enlace de " + file.getTitle() /> 
436 
437                                        <img src="${themeDisplay.getPortalURL()}${themeDisplay.getPathContext()}/inssbt-portal-theme/images/icono-${tipoIcono}.png" alt="${genericImageAtl}"><span>${file.getTitle()}</span> 
438                                    </a> 
439                                    <#if file.getDescription()?has_content> 
440                                        <span class="l_group_documents__list__info_description">${file.getDescription()}</span> 
441                                    </#if> 
442                                    <span class="l_group_documents__list__info_doc">(${file.extension?upper_case}, ${si(file.size)})</span> 
443                                </li> 
444                            </#if> 
445                        </#if> 
446                    </#if> 
447                </#list> 
448            </ul> 
449            <!-- Fin Zona Descargas no plegable --> 
450            </#if> 
451            </#list> 
452            </#if> 
453            <!-- Fin Descargas --> 
454        </div> 
455 
456 
457        <#if Contenido_relacionado?has_content && Contenido_relacionado.getSiblings()?has_content && Contenido_relacionado.getSiblings()[0].getData()?has_content> 
458 
459            <!-- Zona Contenidos relacionados --> 
460            <div class="row"> 
461                <div class="col-xs-12 mt10"> 
462                    <div class="l_block_card l_block_card--squares l_block_card_blue"> 
463                        <!-- revisar en el portal principal pues seguramente tendrá que ser un h2 --> 
464                        <h3 class="l_block_card__header l_block_card__header_blue">${languageUtil.get(locale,"portal.otros.enlaces.interes")}</h3> 
465                        <ul> 
466                            <li class="invisible" style="position: absolute;">Lista</li> 
467                            <#list Contenido_relacionado.getSiblings()?reverse as cur_Contenido_relacionado> 
468                                <li> 
469                                    <a href="${cur_Contenido_relacionado.Cont_rel_enlace.getData()}" target="_blank"> 
470                                        ${cur_Contenido_relacionado.getData()} 
471                                    </a> 
472                                </li> 
473                            </#list> 
474                        </ul> 
475                    </div> 
476                </div> 
477            </div> 
478            <!-- Fin Contenidos relacionados --> 
479        </#if> 
480    </div> 
481</div> 
482 
483<#-- Tb puede interesarte --> 
484<#if Destacado.getSiblings()?has_content && Destacado.getSiblings()[0].getData()?has_content> 
485    <div class="container-block--bg-white"> 
486        <div class="container-block-p container-block-p-subhome"> 
487            <div class="block-title-prev block-title-prev__pages"> 
488                <h2 class="block-title">${languageUtil.get(locale,"observatorio.comun.tambien.puede.interesarte")}</h2> 
489            </div> 
490            <div class="boxes-bottom"> 
491                <div class="row"> 
492 
493                    <#list Destacado.getSiblings()?reverse as cur_destacado> 
494 
495                    <#if cur_destacado.Destacado_enlace.getData()?starts_with( "http://") || cur_destacado.Destacado_enlace.getData()?starts_with( "/") > 
496 
497                        <#if cur_destacado.Destacado_enlace.getData()?starts_with( "/")> 
498                            <#assign contenidoDestEnlace = themeDisplay.getPortalURL()+themeDisplay.getPathContext()+cur_destacado.Destacado_enlace.getData()/> 
499                        <#else> 
500                            <#assign contenidoDestEnlace=cur_destacado.Destacado_enlace.getData() /> 
501                        </#if> 
502 
503                    <#else> 
504                        <#assign contenidoDestEnlace="http://" + cur_destacado.Destacado_enlace.getData() /> 
505                    </#if> 
506                    <div class="col-xs-12 col-sm-3"> 
507                        <a class="boxes-bottom__link" target="_blank" href="${contenidoDestEnlace}"> 
508 
509                            <#list cur_destacado.Destacado_imagen.getSiblings() as cur_Imagen> 
510                                <#assign counter=0 /> 
511                                <#list cur_Imagen.getData()?split( "/") as y> 
512                                    <#if counter==2> 
513                                        <#assign groupId=y?number /> 
514                                    </#if> 
515                                    <#if counter==5> 
516                                        <#assign uuId=y /> 
517                                    </#if> 
518                                    <#assign counter=counter+1 /> 
519                                </#list> 
520                                <#if uuId?has_content> 
521 
522                                    <#assign uuIdTrim = uuId?trim /> 
523                                    <#assign uuIdSplit = uuIdTrim?split("?") /> 
524                                    <#assign file = dlFileEntryService.getFileEntryByUuidAndGroupId(uuIdSplit[0], groupId) /> 
525                                    <#assign dlFileEntryService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")/> 
526                                    <#assign dlFileEntry = dlFileEntryService.getFileEntry(file.getFileEntryId() )/> 
527                                    <#assign fieldsMap = dlFileEntry.getFieldsMap(dlFileEntry.getFileVersion().getFileVersionId()) /> 
528                                    <#assign currentImageAlt = cur_Imagen.getChild('ImagenTextoAlternativoD').getData()?trim /> 
529 
530                                    <#assign genericImageAtl = "Generico novedad detalle n" + .now?long?c /> 
531 
532                                    <#if !currentImageAlt?has_content || currentImageAlt == 'null'> 
533                                        <#assign currentImageAlt = genericImageAtl /> 
534                                    </#if> 
535 
536                                    <img class="boxes-bottom__link-image" src="${cur_Imagen.getData()}?wmode=transparent" alt="${currentImageAlt}"> 
537                                </#if> 
538                            </#list> 
539                        </a> 
540                        <h3 class="boxes-bottom__link-text-title"> 
541                            <a class="boxes-bottom__link" href="${contenidoDestEnlace}" target="_blank"> 
542                                ${cur_destacado.getData()} 
543                            </a> 
544                        </h3> 
545                        <p class="boxes-bottom__link-text-paragraph">${cur_destacado.Destacado_descripcion.getData()}</p> 
546                    </div> 
547 
548                    <#if (cur_destacado_index != 0 && cur_destacado_index%4 == 3 && cur_destacado_index != (cur_destacado?size - 1))> 
549                </div> 
550                <div class="row"> 
551                    </#if> 
552                    </#list> 
553                </div> 
554            </div> 
555        </div> 
556    </div> 
557</#if> 
558 
559 
560<#-- 
561 # Format Number of Bytes in SI Units 
562 # --> 
563<#function si num> 
564    <#assign order     = num?round?c?length /> 
565    <#assign thousands = ((order - 1) / 3)?floor /> 
566    <#if (thousands < 0)><#assign thousands = 0 /></#if> 
567    <#assign siMap = [ {"factor": 1, "unit": ""}, {"factor": 1000, "unit": "KB"}, {"factor": 1000000, "unit": "MB"}, {"factor": 1000000000, "unit":"GB"}, {"factor": 1000000000000, "unit": "TB"} ]/> 
568    <#assign siStr = (num / (siMap[thousands].factor))?string("0.#") + siMap[thousands].unit /> 
569    <#return siStr /> 
570</#function>