An error occurred while processing the template.
The following has evaluated to null or missing: ==> citaTexto [in template "20097#20123#19422661" at line 278, column 18] ---- 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 citaTexto.getData()?? && citaText... [in template "20097#20123#19422661" at line 278, column 13] ----
1<style>
2 .buttons_cont {
3 position: fixed;
4 z-index: 1;
5 top: 50%;
6 margin-top: -92.5px;
7 background-color: rgba(0, 0, 0, 0.4);
8 border-top-right-radius: 10px;
9 border-bottom-right-radius: 10px;
10 }
11
12 .buttons_cont p {
13 margin: 13px 8px;
14 }
15 .padre{
16 position:relative;
17 }
18 .pie-inicial{
19 position:absolute;
20 z-index:1;
21 right:0;
22 left:0;
23 bottom:0px;
24 margin:auto;
25 max-width: 980px;
26 width: 90%;
27 text-align:center;
28 background-color: rgba(0, 0, 0, .75);
29 color: #fff;
30 font-style: italic;
31 font-size:small;
32 }
33 .category {
34 width: 100%;
35 display: flex;
36 justify-content: flex-end;
37 color: #fff;
38 font-size: 12px;
39 font-weight: bold;
40 text-transform: uppercase;
41 }
42
43 .category .category1,
44 .category .category2 {
45 background-color: #cf1417;
46 padding: 1rem;
47 border-radius: 0 0 15px 15px;
48 height: fit-content;
49 }
50
51 .category1 a,
52 .category2 a {
53 color: white;
54 }
55
56 .citas {
57 font-size: 16px;
58 padding: 0 0 0 10px;
59 margin: 0 0 20px;
60 border-left: 5px solid #cf1417;
61 font-style: italic;
62 }
63
64 .cita-comilla-contenedor {
65 width: 100%;
66 margin: 1rem 0;
67 }
68 .cita-comilla-borde {
69 border: 2px solid #cf1417;
70 border-radius: 10px;
71 display: flex;
72 flex-direction: row;
73 font-size: 16px;
74 }
75 .cita-comilla-borde img {
76 width: 100%;
77 max-width: 32px !important;
78 height: fit-content;
79 margin: 8px !important;
80 filter: invert(15%) sepia(36%) saturate(7058%) hue-rotate(347deg)
81 brightness(108%) contrast(106%);
82 }
83 .cita-comilla-borde #texto {
84 margin: 1rem;
85
86 }
87 .cita-comilla-borde #autor {
88 margin: 1rem;
89 font-weight:bold;
90 }
91
92
93 .history-news-template-container {
94 width: 100%;
95 }
96
97 .history-news-template-container img {
98
99 display: block;
100 margin: auto;
101 }
102 .history-news-template-container .carousel{
103 width: 100%;
104 max-width:625px;
105 margin: auto;
106 }
107
108 .m-bot span {
109 text-align: center;
110 }
111
112
113 p iframe{
114 text-align:center;
115 }
116
117
118
119 .history-news-template-container figure {
120 position: relative;
121 margin: 0;
122 }
123
124 .history-news-template-info {
125 display: flex;
126 }
127
128 .history-news-template-header {
129 text-align: center;
130 width: 90%;
131 max-width: 600px;
132 margin: auto;
133 }
134
135 .history-news-template-author {
136 width: 100%;
137 display: flex;
138 justify-content: flex-start;
139 flex-direction: column;
140 padding: 8px;
141 font-weight: bold;
142 }
143
144 .history-news-template-author p {
145 margin: 2px 0;
146 }
147
148 .mw980 {
149 width: 90%;
150 max-width: 980px;
151 margin: 0 auto;
152 }
153
154
155 @media screen and (max-width: 425px) {
156 .history-news-template-info {
157 flex-direction: column-reverse;
158 }
159
160 .history-news-template-author p {
161 text-align: center;
162 }
163
164 .buttons_cont {
165 display: flex;
166 top: auto;
167 bottom: 0;
168 width: 100%;
169 justify-content: center;
170 border-top-right-radius: 0px;
171 border-bottom-right-radius: 0px;
172 }
173 }
174</style>
175<#assign
176 journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
177 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
178 journalArticleId = .vars['reserved-article-id'].data
179 imagenurl = .vars['reserved-article-small-image-url'].data
180 dlFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
181/>
182<!-- Leer descripción de imagen destacada -->
183<#if imagenurl?has_content>
184 <#assign
185 uuid1=imagenurl?keep_before("?")?keep_after_last("/")
186 Group = imagenurl?keep_after("documents/")?keep_before("/")?number
187 step1 = dlFileEntryService.getFileEntryByUuidAndGroupId(uuid1, Group)
188/>
189</#if>
190<div class="history-news-template-container">
191 <div class="history-news-template-header">
192 <h1 style="font-size: 32px;">${.vars['reserved-article-title'].data}</h1>
193 <p>
194 <small>
195 ${.vars['reserved-article-description'].data}
196 </small>
197 </p>
198 </div>
199
200 <div class="padre">
201 <#if .vars['reserved-article-small-image-url'].data?has_content>
202 <!--asignar descripción en texto alt si tiene, y si no que muestre el mismo titulo de la imagen-->
203 <#if step1.getDescription()?has_content>
204 <img src="${.vars['reserved-article-small-image-url'].data}" alt="${step1.getDescription()}" style="width:90%; max-width:980px;"/>
205 <#else>
206 <img src="${.vars['reserved-article-small-image-url'].data}" alt="${step1.getTitle()}" style="width:90%; max-width:980px;"/>
207 </#if>
208 <!--termina el alt y sigue con condicional de agregar logo UN en caso de que no tenga imagen destacada por mostrar-->
209 <#else>
210 <img src="https://www.uninorte.edu.co/documents/13400067/14601182/Logo_Uninorte.jpg/48cf4a2c-1cb9-3ea3-f675-dc4096815673?t=1667419477389" alt="Uninorte logo" style="width:90%; max-width:980px;"/>
211 </#if>
212 <div class="pie-inicial">${PieDeFoto.getData()}</div>
213 </div>
214 <div class="history-news-template-info mw980">
215 <div class="mw980 history-news-template-author">
216 <#if autor??>
217 <p>Por: ${autor.getData()}</p>
218 </#if>
219 <p>
220 <#assign fechasucia = .data_model['reserved-article-display-date'].data>
221 <#assign fechalimpia = fechasucia?keep_after(", ")?keep_before(" +")?keep_before_last(" ")>
222 ${fechalimpia}
223 </p>
224 </div>
225 <div class="category">
226 <!-- nuevo formato de mostrar categoría, se hace uso ahora de tags-->
227 <#assign cat = .vars['reserved-article-asset-tag-names'].data/>
228 <#if cat?contains("academia") || cat?contains("cultura y sociedad") || cat?contains("investigación") || cat?contains("salud") || cat?contains("estudiantes") || cat?contains("egresados") || cat?contains("educación") || cat?contains("histórico")>
229 <#if cat?contains("academia")>
230 <div class="category1">
231 <a href="/web/grupo-prensa/academia"
232 target="_blank">ACADEMIA</a>
233 </div>
234 <#elseif cat?contains("cultura y sociedad")>
235 <div class="category1">
236 <a href="/web/grupo-prensa/cultura"
237 target="_blank">CULTURA Y SOCIEDAD</a>
238 </div>
239 <#elseif cat?contains("investigación")>
240 <div class="category1">
241 <a href="/web/grupo-prensa/investigacion"
242 target="_blank">INVESTIGACIÓN</a>
243 </div>
244 <#elseif cat?contains("salud")>
245 <div class="category1">
246 <a href="/web/grupo-prensa/salud"
247 target="_blank">SALUD</a>
248 </div>
249 <#elseif cat?contains("estudiantes")>
250 <div class="category1">
251 <a href="/web/grupo-prensa/estudiantes"
252 target="_blank">ESTUDIANTES</a>
253 </div>
254 <#elseif cat?contains("egresados")>
255 <div class="category1">
256 <a href="/web/grupo-prensa/noticias-egresados"
257 target="_blank">EGRESADOS</a>
258 </div>
259 <#elseif cat?contains("educación")>
260 <div class="category1">
261 <a href="/web/grupo-prensa/educacion"
262 target="_blank">EDUCACIÓN</a>
263 </div>
264 <#elseif cat?contains("histórico")>
265 <div class="category1">
266 <a href="/web/grupo-prensa/historico"
267 target="_blank">HISTÓRICO</a>
268 </div>
269 </#if>
270 </#if>
271 </div>
272 </div>
273
274 <div class="mw980 history-news-template-content">
275 ${ContenidoDeLaNoticia.getData()}
276
277 <!--primer campo de la cita, este fue editado-viejo está en teams-->
278 <#if citaTexto.getData()?? && citaTexto.getData() !="">
279 <div class="cita-comilla-contenedor">
280 <div class="cita-comilla-borde">
281 <img src="/documents/15916181/30396914/signo-de-comillas-a-la-izquierda+%281%29.png/cbe74105-fddf-f599-6407-38704ab4013e?t=1666364715581" alt="">
282 <div>
283 <p id="texto">
284 <i>${citaTexto.getData()}</i>
285 </p>
286 <p id="autor">${citaTexto.AutorDeLaCita.getData()}</p>
287 </div>
288 </div>
289 </div>
290 </#if>
291 <!--hasta acá-->
292
293 <#if seccionrepetible.getSiblings()?has_content>
294 <#list seccionrepetible.getSiblings() as cur_seccionrepetible>
295 <!--Parrafo-->
296 <#if cur_seccionrepetible.PVP.getData()?? && cur_seccionrepetible.PVP.getData() !="">
297 <div style="width: fit-content; margin: 0 auto;">
298 <div class="m-bot">${cur_seccionrepetible.PVP.getData()}</div>
299 </div>
300 </#if>
301
302 <!--Cita-->
303 <#if cur_seccionrepetible.CitaOComilln1l3b.getData()?? &&
304 cur_seccionrepetible.CitaOComilln1l3b.getData() !="">
305
306 <div class="cita-comilla-contenedor">
307 <div class="cita-comilla-borde">
308 <img src="/documents/15916181/30396914/signo-de-comillas-a-la-izquierda+%281%29.png/cbe74105-fddf-f599-6407-38704ab4013e?t=1666364715581" alt="">
309 <div>
310 <p id="texto">
311 <i>${cur_seccionrepetible.CitaOComilln1l3b.getData()}</i>
312 </p>
313 <p id="autor">${cur_seccionrepetible.CitaOComilln1l3b.AutorDeLaCitaflb9.getData()}</p>
314 </div>
315 </div>
316 </div>
317
318 </#if>
319 </#list>
320 </#if>
321 </div>
322 <!-- carrusel -->
323 <#assign contador_galeria=1>
324 <div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
325 <div class="carousel-inner">
326 <#if galeria.galeriaImagen.getSiblings()?has_content>
327 <#list galeria.galeriaImagen.getSiblings() as cur_galeria_galeriaImagen>
328 <#if contador_galeria==1>
329 <div class="carousel-item active">
330 <#if (cur_galeria_galeriaImagen.getData())?? && cur_galeria_galeriaImagen.getData() != "">
331 <img alt="${cur_galeria_galeriaImagen.getAttribute("alt")}" data-fileentryid="${cur_galeria_galeriaImagen.getAttribute("fileEntryId")}" src="${cur_galeria_galeriaImagen.getData()}" />
332 <p style="margin: 0 1rem;">
333 ${galeria.galeriaImagen.PieDeFoto1.getData()}
334 </p>
335 </#if>
336 </div>
337 <#else>
338 <div class="carousel-item">
339 <#if (cur_galeria_galeriaImagen.getData())?? && cur_galeria_galeriaImagen.getData() != "">
340 <img alt="${cur_galeria_galeriaImagen.getAttribute("alt")}" data-fileentryid="${cur_galeria_galeriaImagen.getAttribute("fileEntryId")}" src="${cur_galeria_galeriaImagen.getData()}" />
341 <p style="margin: 0 1rem;">${galeria.galeriaImagen.PieDeFoto1.getData()}</p>
342 </#if>
343 </div>
344 </#if>
345 <#assign contador_galeria=contador_galeria + 1>
346 </#list>
347 </#if>
348
349 </div>
350 <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
351 <span class="carousel-control-prev-icon" aria-hidden="true"></span>
352 <span class="sr-only">Previous</span>
353 </a>
354 <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
355 <span class="carousel-control-next-icon" aria-hidden="true"></span>
356 <span class="sr-only">Next</span>
357 </a>
358 </div>
359
360 <div class="buttons_cont">
361 <p class="bttn">
362 <a id="bttn_tw" target="_blank"><img alt=""
363 src="https://www.uninorte.edu.co/documents/15916181/26880663/twitter-icon-rel-home.png/76c3b24b-0fb2-cb1d-e4e8-18a1011c7dbb?t=1654696845822"
364 style="max-width: 30px" /></a>
365 </p>
366
367 <p class="bttn">
368 <a id="bttn_fb" target="_blank"><img alt=""
369 src="https://www.uninorte.edu.co/documents/15916181/26880663/facebook-icon-rel-home.png/39b55b6d-5d1d-6d3a-ccc7-752ee26bfff7?t=1654696845712"
370 style="max-width: 30px" /></a>
371 </p>
372
373 <p class="bttn">
374 <a id="bttn_wp" target="_blank"><img alt=""
375 src="https://www.uninorte.edu.co/documents/15916181/26880663/whatsapp-icon-rel-home.png/791cf726-e5cb-ff3e-4d78-79e2f5be5dda?t=1654696845955"
376 style="max-width: 30px" /></a>
377 </p>
378
379 <p class="bttn">
380 <a id="bttn_lk" target="_blank"><img alt=""
381 src="https://www.uninorte.edu.co/documents/15916181/26880663/linkedin-icon-rel-home.png/695ab08e-679b-8c67-0a4e-7cbe2f7377fa?t=1654696845571"
382 style="max-width: 30px" /></a>
383 </p>
384 </div>
385</div>
386<script>
387 var now = new Date().toISOString().slice(0, 10);
388 const urlFromThis = (window.location.href).replace('&', '%26');
389 document.getElementById('fecha-publicacion').textContent = now;
390 document.querySelector('meta[name="url"]').setAttribute("content", urlFromThis);
391 document.querySelector('meta[name="twitter:url"]').setAttribute("content", urlFromThis);
392
393 const categoria = document.getElementById('categoria');
394 if (categoria.textContent == 'investigacion') {
395 categoria.textContent = 'Investigación';
396 } else if (categoria.textContent == 'cultura-y-sociedad') {
397 categoria.textContent = 'Cultura y sociedad';
398 } else if (categoria.textContent == 'proyeccion-social') {
399 categoria.textContent = 'Proyección Social';
400 } else if (categoria.textContent == 'salud') {
401 categoria.textContent = 'Salud';
402 }
403 else if (categoria.textContent == 'academia') {
404 categoria.textContent = 'Academia';
405 } else if (categoria.textContent == 'estudiantes') {
406 categoria.textContent = 'Estudiantes';
407 } else if (categoria.textContent == 'noticias-egresados') {
408 categoria.textContent = 'Egresados';
409 }
410
411
412 const linea = document.getElementById('linea');
413 linea.textContent = ' - ';
414 const categoria2 = document.getElementById('categoria2');
415 if (categoria2.textContent == 'none') {
416 categoria2.textContent = '';
417 linea.textContent = '';
418 } else if (categoria2.textContent == 'investigacion1') {
419 categoria2.href = "https://www.uninorte.edu.co/web/grupo-prensa/investigacion";
420 categoria2.textContent = 'Investigación';
421 } else if (categoria2.textContent == 'cultura-y-sociedad1') {
422 categoria2.href = "https://www.uninorte.edu.co/web/grupo-prensa/cultura";
423 categoria2.textContent = 'Cultura y sociedad';
424 } else if (categoria2.textContent == 'proyeccion-social1') {
425 categoria2.href = "https://www.uninorte.edu.co/web/grupo-prensa/proyeccion-social";
426 categoria2.textContent = 'Proyección Social';
427 } else if (categoria2.textContent == 'salud1') {
428 categoria2.href = "https://www.uninorte.edu.co/web/grupo-prensa/salud";
429 categoria2.textContent = 'Salud';
430 }
431 else if (categoria2.textContent == 'academia1') {
432 categoria2.href = "https://www.uninorte.edu.co/web/grupo-prensa/academia";
433 categoria2.textContent = 'Academia';
434 } else if (categoria2.textContent == 'estudiantes1') {
435 categoria2.href = "https://www.uninorte.edu.co/web/grupo-prensa/estudiantes";
436 categoria2.textContent = 'Estudiantes';
437 } else if (categoria2.textContent == 'egresados1') {
438 categoria2.href = "https://www.uninorte.edu.co/web/grupo-prensa/noticias-egresados";
439 categoria2.textContent = 'Egresados';
440 }
441
442 const facebookComment = document.querySelector('.fb-comments');
443 facebookComment.setAttribute('data-href', urlFromThis);
444
445 document.getElementById('twitter-share').href = 'https://twitter.com/intent/tweet?url=' + urlFromThis;
446 document.getElementById('fb-share').href = 'https://www.facebook.com/sharer/sharer.php?u=' + urlFromThis;
447 document.getElementById('linkedin-share').href = 'https://www.linkedin.com/sharing/share-offsite/?url=' + urlFromThis;
448 document.getElementById('wsapp-share').href = 'https://api.whatsapp.com/send?text=' + urlFromThis;
449
450 const copyText = () => {
451 const aux = document.createElement("input");
452 aux.setAttribute("value", window.location.href);
453 document.body.appendChild(aux);
454 aux.select();
455 document.execCommand("copy");
456 document.body.removeChild(aux);
457 openSnack();
458 }
459
460 const snack = document.getElementById('snack');
461
462 const openSnack = () => {
463 snack.classList.remove('close');
464 snack.classList.add('show');
465 setTimeout(closeSnack, 3000)
466 }
467
468
469 const closeSnack = () => {
470 snack.classList.remove('show');
471 snack.classList.add('close');
472 }
473</script>
474<script>
475 // Get the element
476 $tw_link = document.querySelector("#bttn_tw");
477 $fb_link = document.querySelector("#bttn_fb");
478 $wp_link = document.querySelector("#bttn_wp");
479 $lk_link = document.querySelector("#bttn_lk");
480 $href = window.location.href;
481 $href_cod = $href.replace("&", "%26").toString();
482 $tw_url = "https://twitter.com/intent/tweet?text=${.vars['reserved-article-title'].data}%20" + $href_cod;
483 $fb_url = "https://www.facebook.com/sharer/sharer.php?u=" + $href_cod;
484 $wp_url = "https://api.whatsapp.com/send?text=${.vars['reserved-article-title'].data}%20" + $href_cod;
485 $lk_url = "https://www.linkedin.com/sharing/share-offsite/?url=" + $href_cod;
486 // Set url attribute of the link
487
488 $fb_link.setAttribute("href", $fb_url);
489 $lk_link.setAttribute("href", $lk_url);
490 $tw_link.setAttribute("href", $tw_url);
491 $wp_link.setAttribute("href", $wp_url);
492</script>