Se ha producido un error al procesar la plantilla.
Can't convert this string to number: "" The blamed expression: ==> imagenurl?keep_after("documents/")?keep_before("/")?number [in template "20097#20123#31335507" at line 126, column 11] ---- FTL stack trace ("~" means nesting-related): - Failed at: Group = imagenurl?keep_after("documen... [in template "20097#20123#31335507" at line 126, column 3] ----
1<style>
2 .plantilla-estruc-event-contenido img{
3 display:flex;
4 margin:auto;
5 max-width:100%;
6 }
7
8 #banner {
9 margin: 0;
10 }
11 #info {
12 background-color: ${colortema.getData()};
13 padding: 2rem 1rem;
14 }
15 #info .info-row {
16 display: flex;
17 justify-content: center;
18 }
19 #info .info-column {
20 text-align: center;
21 font-weight: bold;
22 color: #ffffff;
23 width: 100%;
24 max-width: 300px;
25 margin: 0 2rem;
26 }
27 .tituloevent{
28 max-width:700px;
29 margin:auto;
30 }
31 .tituloevent h1{
32 font-size:35px;
33 text-align:center;
34 margin-top:22px;
35 }
36 @media (max-width: 820px) {
37 .tituloevent h1{
38 font-size:30px;
39 }
40 }
41 @media (max-width: 512px) {
42 .tituloevent h1{
43 font-size:25px;
44 }
45 }
46
47 <#if coloriconos.getData()?contains("blanco")>
48 #info .info-column img {
49 width: 40px;
50 margin:8px 0;
51 filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(47deg)
52 brightness(117%) contrast(117%);
53 }
54 #info .info-column {
55 text-align: center;
56 font-weight: bold;
57 color: #ffffff;
58 width: 100%;
59 max-width: 300px;
60 margin: 0 2rem;
61 }
62 #info .info-column a{
63 color:#ffffff;
64 }
65 <#else>
66 #info .info-column img {
67 width: 40px;
68 margin:8px 0;
69 filter: invert(0%) sepia(99%) saturate(0%) hue-rotate(322deg) brightness(101%) contrast(101%);
70 }
71 #info .info-column {
72 text-align: center;
73 font-weight: bold;
74 color: #000000;
75 width: 100%;
76 max-width: 300px;
77 margin: 0 2rem;
78 }
79 #info .info-column a{
80 color:#000000;
81 }
82 </#if>
83 #info .info-column #titulo {
84 font-size: 22px;
85 margin:0;
86 margin-bottom: 5px;
87 }
88
89 .plantilla-estruc-event-contenido {
90 width: 80%;
91 max-width: 980px;
92 margin: 2rem auto;
93 }
94 .plantilla-estruc-event-contenido p{
95 margin: 1rem 0;
96 }
97
98 .plantilla-estruc-event-contenido h2 {
99 text-align: center;
100 margin: 8px auto;
101 }
102 .plantilla-estruc-event-contenido hr {
103 background-color: ${colortema.getData()};
104 height: 3px;
105 width: 100%;
106 max-width: 300px;
107 margin: 0 auto;
108 }
109 @media (max-width: 425px) {
110 #info .info-row {
111 flex-direction: column;
112 }
113 }
114</style>
115<#assign
116 journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
117 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
118 journalArticleId = .vars['reserved-article-id'].data
119 imagenurl = .vars['reserved-article-small-image-url'].data
120 dlFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
121/>
122<!-- Leer descripción de imagen destacada -->
123<#if imagenurl?has_content>
124 <#assign
125 uuid1=imagenurl?keep_before("?")?keep_after_last("/")
126 Group = imagenurl?keep_after("documents/")?keep_before("/")?number
127 step1 = dlFileEntryService.getFileEntryByUuidAndGroupId(uuid1, Group)
128/>
129</#if>
130<#assign fecha_Data = getterUtil.getString(fecha.getData())>
131<#if validator.isNotNull(fecha_Data)>
132 <#assign fecha_DateObj = dateUtil.parseDate("yyyy-MM-dd", fecha_Data, locale)>
133 <#assign fechaInicio = dateUtil.getDate(fecha_DateObj, "dd MMM yyyy", locale)>
134</#if>
135<#assign fechafinal_Data = getterUtil.getString(fechafinal.getData())>
136<#if validator.isNotNull(fechafinal_Data)>
137 <#assign fechafinal_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechafinal_Data, locale)>
138 <#assign fechaFinal = dateUtil.getDate(fechafinal_DateObj, "dd MMM yyyy", locale)>
139</#if>
140
141<div class="plantilla-estruc-event-contenedor">
142 <div class="plantilla-estruc-event-encabezado">
143 <figure id="banner" title="${.vars['reserved-article-title'].data}">
144 <#if .vars['reserved-article-small-image-url'].data?has_content>
145 <!--asignar descripción en texto alt si tiene, y si no que muestre el mismo titulo de la imagen-->
146 <#if step1.getDescription()?has_content>
147 <img src="${.vars['reserved-article-small-image-url'].data}" alt="${step1.getDescription()}" style="aspect-ratio:11/4; width: 100%;"/>
148 <#else>
149 <img src="${.vars['reserved-article-small-image-url'].data}" alt="${step1.getTitle()}" style="aspect-ratio:11/4; width: 100%;"/>
150 </#if>
151 <!--termina el alt y sigue con condicional de agregar logo UN en caso de que no tenga imagen destacada por mostrar-->
152 <#else>
153 <img src="https://www.uninorte.edu.co/documents/14120459/14911168/Logo_Uninorte.png/1fee375c-5a6d-f0dd-b431-67d8caeea04d?t=1677083900695" alt="Uninorte logo" style="aspect-ratio:11/4; width: 100%;"/>
154 </#if>
155
156 </figure>
157 <div id="info">
158 <div class="info-row">
159 <div class="info-column">
160 <img src="/documents/15916181/30396914/C-26796_OG_DCR_BOW_Iconos-2+%281%29.png/a653e106-6426-33d5-008e-de99793ad12d?t=1664376050287" alt="">
161 <p id="titulo">Hora</p>
162 <p>${horainicio.getData()} - ${horafin.getData()}</p>
163 </div>
164 <div class="info-column">
165 <img src="/documents/15916181/30396914/C-26796_OG_DCR_BOW_Iconos-1+%281%29.png/04277aa1-bb94-6cde-6957-33778597143d?t=1664376035809" alt="">
166 <p id="titulo">Fecha</p>
167 <#if fechaInicio == fechaFinal>
168 <p>${fechaInicio}</p>
169 <#else>
170 <p>${fechaInicio} al ${fechaFinal}</p>
171 </#if>
172
173 </div>
174 <div class="info-column">
175 <img src="/documents/15916181/30396914/C-26796_OG_DCR_BOW_Iconos-3.png/61f4bccf-3194-e302-cc73-885fef2ca285?t=1664373468157" alt="">
176 <p id="titulo">Lugar</p>
177
178 <#assign
179 latSinEsp=latitud.getData()?replace(" ", "")?replace("\n", "")?replace("\t", "")
180 longSinEsp=longitud.getData()?replace(" ", "")?replace("\n", "")?replace("\t", "")
181 />
182
183
184 <#if tipoevento.getData()?contains("no")>
185
186 <#if latSinEsp == "" || longSinEsp == "">
187 <p>${ubicacion.getData()}</p>
188 <#else>
189 <#assign linkMaps = "https://www.google.com/maps?q=${latitud.getData()},${longitud.getData()}&hl=es-PY&gl=py&shorturl=1"/>
190 <a href="${linkMaps}"><p>${ubicacion.getData()}</p></a>
191 </#if>
192 <#elseif tipoevento.getData()?contains("si")>
193 <a href="${URLvirtual.getData()}">
194 <p>Evento virtual</p>
195 </a>
196
197 <#else>
198 <#if latSinEsp == "" || longSinEsp == "">
199 <p style="margin:0;line-height: 15px;">${ubicacion.getData()} <br> o <br> <a href="${URLvirtual.getData()}"> Acceso virtual</a></p>
200 <#else>
201 <#assign linkMaps = "https://www.google.com/maps?q=${latitud.getData()},${longitud.getData()}&hl=es-PY&gl=py&shorturl=1"/>
202 <p style="margin:0;line-height: 15px;"> <a href="${linkMaps}">${ubicacion.getData()}</a> <br> o <br> <a href="${URLvirtual.getData()}"> Acceso virtual</a></p>
203 </#if>
204 </#if>
205 </div>
206 </div>
207 </div>
208 </div>
209 <div class="tituloevent"><h1>${.vars['reserved-article-title'].data}</h1></div>
210 <div class="plantilla-estruc-event-contenido">
211 <p>
212 ${descripcion.getData()}
213 </p>
214 </div>
215</div>
Más eventos
Académicos
Pre jornadas en Derecho Tributario y Aduanero
El evento busca reunir a expertos y estudiantes para debatir y actualizar sobre temas clave en el ámbito tributario y aduanero, promoviendo el intercambio de conocimientos y la reflexión...
Académicos
Hablemos de la Reforma Pensional y su Régimen de transición
En este evento, se abordarán los aspectos clave de la reforma pensional y su régimen de transición, ofreciendo una oportunidad para discutir los cambios legislativos y sus implicaciones.