An error occurred while processing the template.
Invocation of method 'addMetaTag' in class com.liferay.portal.kernel.velocity.IterVelocityTools threw exception XYZ_E_INVALID_VELOCITY_META_TAGS_MAP_ZYX:Invalid parameters K: 'content' V: 'null' [file IterVelocityTools.java, method addMetaTag, line 874] at 21736/F/SCROLL_INFINITO_ESPECIAL[line 11, column 20]
1##----ESPECIAL3.3 VANGDATA----
2
3##Add meta title
4#set($title = $articleToolbox.getTag(null,"Headline").data)
5#set($title = $htmlUtil.escape($!title))
6#set($title = $title.replaceAll("\n", ""))
7
8#set($html5Desc = {})
9#set($temp = $html5Desc.put("name","title"))
10#set($temp = $html5Desc.put("content",$title))
11$iterVelocityTools.addMetaTag($html5Desc)
12
13#set($hostName = "#siteUrl()")
14#set($dateMask = "d MMMM yyyy")
15#set ($arrayListContenidos = [])
16
17#set ($element = {})
18#set ($temp = $element.put("name","Text"))
19#set ($temp = $element.put("type","paragraph"))
20#set ($temp = $element.put("cssclass","texto"))
21#set ($temp = $element.put("tag","div"))
22#set($temp = $arrayListContenidos.add($element))
23
24#set ($element = {})
25#set ($temp = $element.put("name","Image_Text"))
26#set ($temp = $element.put("type","image"))
27#set ($temp = $element.put("cssclass","img text"))
28#set ($temp = $element.put("tag","div"))
29#set($temp = $arrayListContenidos.add($element))
30
31#set ($element = {})
32#set ($temp = $element.put("name","Image_Text_GIF"))
33#set ($temp = $element.put("type","image"))
34#set ($temp = $element.put("cssclass","imagen"))
35#set ($temp = $element.put("tag","div"))
36#set($temp = $arrayListContenidos.add($element))
37
38#set ($element = {})
39#set ($temp = $element.put("name","Lead_Text"))
40#set ($temp = $element.put("type","text"))
41#set ($temp = $element.put("cssclass","intertitulo"))
42#set ($temp = $element.put("tag","div"))
43#set($temp = $arrayListContenidos.add($element))
44
45#set ($element = {})
46#set ($temp = $element.put("name","Lead"))
47#set ($temp = $element.put("type","text"))
48#set ($temp = $element.put("cssclass","lead destacado"))
49#set ($temp = $element.put("tag","div"))
50#set ($temp = $arrayListContenidos.add($element))
51
52#set ($element = {})
53#set ($temp = $element.put("name","HTML_Text"))
54#set ($temp = $element.put("type","html"))
55#set ($temp = $element.put("cssclass","html_text"))
56#set ($temp = $element.put("tag","div"))
57#set($temp = $arrayListContenidos.add($element))
58
59#set ($element = {})
60#set ($temp = $element.put("name","Twitter_Text"))
61#set ($temp = $element.put("type","twitter"))
62#set ($temp = $element.put("cssclass","twitter_text"))
63#set ($temp = $element.put("tag","div"))
64#set ($temp = $arrayListContenidos.add($element))
65
66#set ($element = {})
67#set ($temp = $element.put("name","Facebook_Text"))
68#set ($temp = $element.put("type","facebook"))
69#set ($temp = $element.put("cssclass","facebook_text"))
70#set ($temp = $element.put("tag","div"))
71#set ($temp = $arrayListContenidos.add($element))
72
73#set ($element = {})
74#set ($temp = $element.put("name","Instagram_Text"))
75#set ($temp = $element.put("type","instagram"))
76#set ($temp = $element.put("cssclass","instagram_text"))
77#set ($temp = $element.put("tag","div"))
78#set ($temp = $arrayListContenidos.add($element))
79
80#set ($element = {})
81#set ($temp = $element.put("name","Youtube_Text"))
82#set ($temp = $element.put("type","youtube"))
83#set ($temp = $element.put("cssclass","youtube_video"))
84#set ($temp = $element.put("tag","div"))
85#set($temp = $arrayListContenidos.add($element))
86
87#set ($element = {})
88#set ($temp = $element.put("name","Multimedia_Text"))
89#set ($temp = $element.put("type","multimedia"))
90#set ($temp = $element.put("cssclass","video"))
91#set ($temp = $element.put("tag","div"))
92#set($temp = $arrayListContenidos.add($element))
93
94#set ($element = {})
95#set ($temp = $element.put("name","Flourish_Text"))
96#set ($temp = $element.put("type","text"))
97#set ($temp = $element.put("cssclass","flourish_text"))
98#set ($temp = $element.put("tag","div"))
99#set ($temp = $arrayListContenidos.add($element))
100
101#set ($element = {})
102#set ($temp = $element.put("name","Quote"))
103#set ($temp = $element.put("type","text"))
104#set ($temp = $element.put("cssclass","quote"))
105#set ($temp = $element.put("tag","div"))
106#set($temp = $arrayListContenidos.add($element))
107
108#set ($element = {})
109#set ($temp = $element.put("name","Quote_byline"))
110#set ($temp = $element.put("type","text"))
111#set ($temp = $element.put("cssclass","Quote_byline"))
112#set ($temp = $element.put("tag","div"))
113#set ($temp = $arrayListContenidos.add($element))
114
115#set ($element = {})
116#set ($temp = $element.put("name","linkTitle_Text"))
117#set ($temp = $element.put("type","text"))
118#set ($temp = $element.put("cssclass","link_tpi"))
119#set ($temp = $element.put("tag","div"))
120#set($temp = $arrayListContenidos.add($element))
121
122#set ($element = {})
123#set ($temp = $element.put("name","title_list"))
124#set ($temp = $element.put("type","microformat"))
125#set ($temp = $element.put("cssclass","microformat"))
126#set ($temp = $element.put("tag","div"))
127#set($temp = $arrayListContenidos.add($element))
128
129#set ($element = {})
130#set ($temp = $element.put("name","image_list"))
131#set ($temp = $element.put("type","microformat"))
132#set ($temp = $element.put("cssclass","microformat"))
133#set ($temp = $element.put("tag","div"))
134#set($temp = $arrayListContenidos.add($element))
135
136#set ($element = {})
137#set ($temp = $element.put("name","text_list"))
138#set ($temp = $element.put("type","microformat"))
139#set ($temp = $element.put("cssclass","microformat"))
140#set ($temp = $element.put("tag","div"))
141#set($temp = $arrayListContenidos.add($element))
142
143#set ($element = {})
144#set ($temp = $element.put("name","Parrafo_Lista"))
145#set ($temp = $element.put("type","text"))
146#set ($temp = $element.put("cssclass","Parrafo_Lista"))
147#set ($temp = $element.put("tag","div"))
148#set ($temp = $arrayListContenidos.add($element))
149
150#set ($element = {})
151#set ($temp = $element.put("name","Titulo_News"))
152#set ($temp = $element.put("type","text"))
153#set ($temp = $element.put("cssclass","titulo_news"))
154#set ($temp = $element.put("tag","div"))
155#set ($temp = $arrayListContenidos.add($element))
156
157#set ($element = {})
158#set ($temp = $element.put("name","Resumen_News"))
159#set ($temp = $element.put("type","text"))
160#set ($temp = $element.put("cssclass","resumen_news"))
161#set ($temp = $element.put("tag","div"))
162#set ($temp = $arrayListContenidos.add($element))
163
164#set ($element = {})
165#set ($temp = $element.put("name","Boton"))
166#set ($temp = $element.put("type","text"))
167#set ($temp = $element.put("cssclass","Boton"))
168#set ($temp = $element.put("tag","div"))
169#set ($temp = $arrayListContenidos.add($element))
170
171#set ($element = {})
172#set ($temp = $element.put("name","resena_titulo"))
173#set ($temp = $element.put("type","text"))
174#set ($temp = $element.put("cssclass","resena_titulo"))
175#set ($temp = $element.put("tag","div"))
176#set($temp = $arrayListContenidos.add($element))
177
178#set ($element = {})
179#set ($temp = $element.put("name","resena_imagen"))
180#set ($temp = $element.put("type","image"))
181#set ($temp = $element.put("cssclass","resena_imagen"))
182#set ($temp = $element.put("tag","div"))
183#set($temp = $arrayListContenidos.add($element))
184
185#set ($element = {})
186#set ($temp = $element.put("name","resena_texto"))
187#set ($temp = $element.put("type","text"))
188#set ($temp = $element.put("cssclass","resena_texto"))
189#set ($temp = $element.put("tag","div"))
190#set($temp = $arrayListContenidos.add($element))
191
192
193## MAPA DE PUBLICIDAD EN PARRAFOS
194#set ($addInParrafos ={})
195
196#set($sectionID = "#printAssignedSectionID_v1")
197#set ($AuthorNoFoto = $!iterVelocityTools.getVariable($sectionID , "authorNoFoto"))
198
199#set($canonicalUrl = $articleToolbox.getArticleViewer('canonical'))
200
201##----VARIABLES PARA JSON-LD Y METAS----
202#set($pub_imagen = $articleToolbox.getImageURL("Image","0","crop_1200x801"))
203
204#set($dateF = "#printDateCreate('yyyy-MM-dd' 'false' '')")
205#set($dateF = $dateF.trim())
206#set($dateM = "#printDateFrom_v1('HH:mm:ss' 'false' 'false')")
207#set($dateM = $dateM.trim())
208#set($dateF = $dateF + "T" + $dateM +"-0600")
209
210#set($dateF1 = "#printDateModif('yyyy-MM-dd' 'false' '')")
211#set($dateF1 = $dateF1.trim())
212#set($dateH = "#printDateModif('HH:mm:ss' 'false' '')")
213#set($dateH = $dateH.trim())
214#set($dateFb = $dateF1 + "T" + $dateH +"-0600")
215
216##----PREPARAR VARIABLES ESCAPADAS PARA METAS----
217#set($TituloEsc = $htmlUtil.escape($!articleToolbox.getTag(null,"Headline").data))
218#set($TituloEsc = $TituloEsc.replaceAll("\n", ""))
219
220##----DESCRIPTION CON FALLBACK----
221#set($TextoEsc = "")
222#set($tempDesc = $articleToolbox.getTag(null,"Lead").data)
223#if($tempDesc && $tempDesc != "")
224 #set($TextoEsc = $htmlUtil.escape($tempDesc.replaceAll("<[^>]*>", "").replaceAll(" ", " ").trim()))
225#end
226
227## FALLBACK DESCRIPTION: Si Lead está vacío, usar extracto de Text
228#if($TextoEsc == "")
229 #set($tempDescFallback = $articleToolbox.getTag(null,"Text").data)
230 #if($tempDescFallback && $tempDescFallback != "")
231 #set($tempDescClean = $tempDescFallback.replaceAll("<[^>]*>", "").replaceAll(" ", " ").trim())
232 #if($tempDescClean.length() > 160)
233 #set($tempDescClean = $tempDescClean.substring(0, 160))
234 #end
235 #set($TextoEsc = $htmlUtil.escape($tempDescClean))
236 #end
237#end
238
239##----METAS TWITTER (ESCAPADOS)----
240#set($metaTW = {})
241#set($temp = $metaTW.put("property","twitter:card"))
242#set($temp = $metaTW.put("content", "summary_large_image"))
243$iterVelocityTools.addMetaTag( $metaTW )
244
245#set($metaTW = {})
246#set($temp = $metaTW.put("property","twitter:site"))
247#set($temp = $metaTW.put("content", "vanguardiamx"))
248$iterVelocityTools.addMetaTag( $metaTW )
249
250#set($metaTW = {})
251#set($temp = $metaTW.put("property","twitter:title"))
252#set($temp = $metaTW.put("content", "$TituloEsc"))
253$iterVelocityTools.addMetaTag( $metaTW )
254
255#set($metaTW = {})
256#set($temp = $metaTW.put("property","twitter:description"))
257#set($temp = $metaTW.put("content", "$TextoEsc"))
258$iterVelocityTools.addMetaTag( $metaTW )
259
260#if($pub_imagen != "")
261 #set($metaTW = {})
262 #set($temp = $metaTW.put("property","twitter:image"))
263 #set($temp = $metaTW.put("content", "$pub_imagen"))
264 $iterVelocityTools.addMetaTag( $metaTW )
265#end
266
267#set($metaTW = {})
268#set($temp = $metaTW.put("property","twitter:url"))
269#set($temp = $metaTW.put("content", "https://twitter.com/vanguardiamx"))
270$iterVelocityTools.addMetaTag( $metaTW )
271
272#set($metaTW = {})
273#set($temp = $metaTW.put("property","twitter:domain"))
274#set($temp = $metaTW.put("content", "https://vanguardia.com.mx"))
275$iterVelocityTools.addMetaTag( $metaTW )
276
277#set($ac-url = $articleContext.selectNodes('articlectx/url'))
278#set($xml-url = $ac-url.get(0).text)
279#set($url_actual = $!xml-url )
280
281##----PREPARAR VARIABLES PARA URLs DE COMPARTIR (URL ENCODED)----
282#set($titleUrlEncoded = $escapeTool.url($articleToolbox.getTag(null,"Headline").data))
283#set($canonicalUrlEncoded = $escapeTool.url($articleToolbox.getArticleViewer('canonical')))
284
285##----PREPARAR DATOS DE AUTOR ESCAPADOS----
286#set($hmAutores = {})
287#getAcAssignedCatExtended_v1($hmAutores "Author")
288#set($NombreAutor = "")
289#set($NombreAutorEsc = "")
290#set($IDAutor = "")
291#set($primerAutorNombre = "")
292#set($primerAutorUrl = "")
293
294#if($hmAutores && $hmAutores.size() > 0)
295 #foreach ($elem in $hmAutores)
296 #if($velocityCount == 1)
297 #set($NombreAutor = $elem.name)
298 #set($NombreAutorEsc = $htmlUtil.escape($elem.name))
299 #set($IDAutor = $elem.id)
300 #set($primerAutorNombre = $htmlUtil.escape($elem.name))
301 #set($primerAutorUrl = "/autor/-/meta/$htmlUtil.escape($elem.friendlyname)")
302 #end
303 #end
304#end
305
306##----SECCIÓN ESCAPADA----
307#set($section = "")
308#set($sectionEsc = "")
309#set($ac-sectionDateFrom = $articleContext.selectNodes('articlectx/sections//section[@from]'))
310#if($ac-sectionDateFrom && $ac-sectionDateFrom.size() > 0)
311 #set($section = $ac-sectionDateFrom.get(0).valueOf("name"))
312 #set($sectionEsc = $htmlUtil.escape($section))
313#end
314
315##----PAYWALL PRODUCT (MOVIDO ARRIBA PARA JSON-LD)----
316#set($product = "")
317#set($article_is_restricted = $articleToolbox.article_is_restricted())
318#if ($article_is_restricted)
319 #foreach($products in $articleToolbox.getProductList())
320 #set($product = $products.get("name"))
321 #end
322#end
323
324##----PREPARAR KEYWORDS PARA JSON-LD----
325#set($hmTemasJSON = {})
326#getAcAssignedCatExtended_v1($hmTemasJSON "Topic")
327#set($hmGeograficoJSON = {})
328#getAcAssignedCatExtended_v1($hmGeograficoJSON "Location")
329#set($hmCompaniesJSON = {})
330#getAcAssignedCatExtended_v1($hmCompaniesJSON "Companies")
331#set($hmPersonajesJSON = {})
332#getAcAssignedCatExtended_v1($hmPersonajesJSON "People")
333
334#set($keywordsArray = [])
335#if($hmTemasJSON && $hmTemasJSON.size() > 0)
336 #foreach($elem in $hmTemasJSON)
337 #if($keywordsArray.size() < 10)
338 #set($temp = $keywordsArray.add($htmlUtil.escape($elem.name)))
339 #end
340 #end
341#end
342#if($hmGeograficoJSON && $hmGeograficoJSON.size() > 0)
343 #foreach($elem in $hmGeograficoJSON)
344 #if($keywordsArray.size() < 10)
345 #set($temp = $keywordsArray.add($htmlUtil.escape($elem.name)))
346 #end
347 #end
348#end
349#if($hmPersonajesJSON && $hmPersonajesJSON.size() > 0)
350 #foreach($elem in $hmPersonajesJSON)
351 #if($keywordsArray.size() < 10)
352 #set($temp = $keywordsArray.add($htmlUtil.escape($elem.name)))
353 #end
354 #end
355#end
356#if($hmCompaniesJSON && $hmCompaniesJSON.size() > 0)
357 #foreach($elem in $hmCompaniesJSON)
358 #if($keywordsArray.size() < 10)
359 #set($temp = $keywordsArray.add($htmlUtil.escape($elem.name)))
360 #end
361 #end
362#end
363
364##----PREPARAR ALTERNATIVE HEADLINE PARA JSON-LD (CORREGIDO)----
365#set($alternativeHeadlineEsc = "")
366
367## Intentar obtener Subheadline directamente
368#set($tempSubheadlineData = $articleToolbox.getTag(null,"Subheadline"))
369#if($tempSubheadlineData && $tempSubheadlineData.data && $tempSubheadlineData.data.trim() != "")
370 #set($alternativeHeadlineEsc = $htmlUtil.escape($tempSubheadlineData.data.replaceAll("<[^>]*>", "").trim()))
371#end
372
373## Fallback 1: usar Lead si no hay Subheadline
374#if($alternativeHeadlineEsc == "")
375 #set($tempLeadAlt = $articleToolbox.getTag(null,"Lead").data)
376 #if($tempLeadAlt && $tempLeadAlt != "")
377 #set($alternativeHeadlineEsc = $htmlUtil.escape($tempLeadAlt.replaceAll("<[^>]*>", "").trim()))
378 #end
379#end
380
381## Fallback 2: usar extracto de Text si no hay Lead
382#if($alternativeHeadlineEsc == "")
383 #set($tempTextAlt = $articleToolbox.getTag(null,"Text").data)
384 #if($tempTextAlt && $tempTextAlt != "")
385 #set($tempTextAltClean = $tempTextAlt.replaceAll("<[^>]*>", "").replaceAll(" ", " ").trim())
386 #if($tempTextAltClean.length() > 160)
387 #set($tempTextAltClean = $tempTextAltClean.substring(0, 160))
388 #end
389 #set($alternativeHeadlineEsc = $htmlUtil.escape($tempTextAltClean))
390 #end
391#end
392
393##----PREPARAR ARTICLE BODY PARA JSON-LD (EXTRACTO)----
394#set($articleBodyEsc = "")
395#set($tempBodyJSON = $articleToolbox.getTag(null,"Text").data)
396#if($tempBodyJSON && $tempBodyJSON != "")
397 #set($articleBodyClean = $tempBodyJSON.replaceAll("<[^>]*>", "").replaceAll(" ", " ").trim())
398 #if($articleBodyClean.length() > 500)
399 #set($articleBodyClean = $articleBodyClean.substring(0, 500))
400 #end
401 #set($articleBodyEsc = $htmlUtil.escape($articleBodyClean))
402#end
403
404<style>
405.block_lead{
406 clear: none;
407 font-weight: bold;
408 line-height: 140%;
409 margin-bottom: 20px;
410 color: #757575;
411 font-size: 1.625rem;
412 text-align: center;
413 max-width: 620px;
414 margin: 0 auto 20px auto;
415 width: 100%;
416 font-weight: 900;
417}
418</style>
419
420<div class="template-infinity special detail col-100-top-one-col col-12" id-next="$!art_next.reserved-article-id.data" id-section="$sectionID">
421
422##----JSON-LD CENTRALIZADO (SEO MODERNO - COMPLETO)----
423<script type="application/ld+json">
424{
425 "@context": "https://schema.org",
426 "@type": "NewsArticle",
427 "mainEntityOfPage": {
428 "@type": "WebPage",
429 "@id": "${hostName}${url_actual}"
430 },
431 "headline": "${TituloEsc}",
432 #if($alternativeHeadlineEsc && $alternativeHeadlineEsc != "")
433 "alternativeHeadline": "${alternativeHeadlineEsc}",
434 #end
435 "description": "${TextoEsc}",
436 #if($articleBodyEsc && $articleBodyEsc != "")
437 "articleBody": "${articleBodyEsc}",
438 #end
439 "image": ["${pub_imagen}"],
440 "datePublished": "${dateF}",
441 "dateModified": "${dateFb}",
442 "dateCreated": "${dateF}",
443 #if($keywordsArray.size() > 0)
444 "keywords": [#foreach($kw in $keywordsArray)"${kw}"#if($velocityCount < $keywordsArray.size()), #end#end],
445 #end
446 #if($primerAutorNombre && $primerAutorNombre != "")
447 "author": [{
448 "@type": "Person",
449 "name": "${primerAutorNombre}",
450 "url": "${hostName}${primerAutorUrl}"
451 }],
452 #else
453 "author": [{
454 "@type": "Organization",
455 "name": "Vanguardia"
456 }],
457 #end
458 "publisher": {
459 "@type": "NewsMediaOrganization",
460 "name": "Vanguardia",
461 "url": "https://vanguardia.com.mx/",
462 "logo": {
463 "@type": "ImageObject",
464 "url": "https://vanguardia.com.mx/base-portlet/webrsrc/ctxvar/9d387887-99eb-4c1e-bb4a-7cbec97451dd.png",
465 "width": 380,
466 "height": 35
467 }
468 },
469 "isAccessibleForFree": #if($product == "suscripciones")false#else true#end
470}
471</script>
472
473 <script>
474 var group_id = $request.theme-display.scope-group-id;
475 var id_art_infinity = $reserved-article-id.data;
476 #if($iterVelocityTools.getVelocityVariable("teaseritemposition") == 1)
477 var teaser_first = true;
478 var n_noticia = 1;
479 idart_view = $reserved-article-id.data;
480 #else
481 var teaser_first = false;
482 var n_noticia = n_noticia + 1;
483 #end
484
485 document.addEventListener("DOMContentLoaded", function() {
486 var authorBlock = document.querySelector('.author');
487 var leadBlock = document.querySelector('.block_lead.destacado');
488 if (authorBlock && leadBlock) {
489 authorBlock.insertAdjacentElement('afterend', leadBlock);
490 }
491 });
492 </script>
493
494
495<article class="mrf-article-body">
496
497 ##----DATOS PARA ANALYTICS (ESCAPADOS)----
498 <div id="eww-general"
499 data-author="$NombreAutorEsc"
500 data-section="$sectionEsc"
501 data-post-title="$title"
502 data-post-id="$reserved-article-id.data"
503 data-author-id="$IDAutor">
504 </div>
505
506 <!-- /1021010/v_top -->
507 <div class="banner-bg" style="margin-top: 20px;">
508 <div class="banner-flex">
509 <div class="publicidad-container" style="height: 300px;">
510 <a target="_blank" rel="noopener noreferrer" class="publicidad-label">Publicidad</a>
511 <div id="div-gpt-ad-1733160976056-0" style="width: 100%; height: 250px;justify-items: center;"></div>
512 </div>
513 </div>
514 </div>
515
516 <div id="ImagenPrincipalE" class="container-fluid">
517 ## IMAGEN
518 $!articleToolbox.getImageTag2("Image","0","crop_2000x1125","","","","true","$!title","$!title","100%")
519
520 #set($imgurl = $articleToolbox.getImageURL("Image", "0", "crop_1152x648_detalle"))
521 #if($imgurl && $imgurl != "")
522 #set($imgprop = $articleToolbox.getImageProperties($imgurl))
523 #end
524 </div>
525
526 <div id="container_titleE" class="container title">
527 #set($hmSpec = {})
528 #getAcAssignedCatExtended_v1($hmSpec "marcadores")
529
530 ##HEADLINE
531 <div class="headline">
532 #if($hmSpec && $hmSpec.size() > 0 && $hmSpec.get(0).name == "Especial")
533 <div class="box_marc">
534 <div class="marc">Especial</div>
535 </div>
536 #end
537 <h1 class="headline artit font-1 medium bold" canonicalUrl="$canonicalUrl" idart="$reserved-article-id.data">$title</h1>
538 </div>
539 </div>
540
541 <div class="container2">
542
543 ##AUTOR
544 <div class="author">
545 #if($hmAutores && $hmAutores.size() > 0)
546 #foreach ($elem in $hmAutores)
547 #set($articuloInstrumental = $aboutCategoryArticles.getArticle($elem.id))
548 #set($imgAuthor = $!articuloInstrumental.getImageTag("Image","0","crop_250x250","","","","","true","",""))
549 #set($elemNameEsc = $htmlUtil.escape($elem.name))
550 #set($elemFriendlyEsc = $htmlUtil.escape($elem.friendlyname))
551
552 <div class="img_author">
553 #if($imgAuthor && $imgAuthor != "")
554 $!imgAuthor
555 #else
556 <img class="img-fluid" src="$AuthorNoFoto" alt="$elemNameEsc"/>
557 #end
558 </div>
559
560 #set($descripcionLimpia = $!articuloInstrumental.Text.data.replaceAll("<[^>]*>", "").replaceAll(" ", " ").trim())
561
562 <div class="text_author">por <span class="name_author"><a href="/autor/-/meta/$elemFriendlyEsc">$elemNameEsc</a></span></div>
563 #end
564 #end
565 </div>
566
567 ##PAYWALL HIT MAS
568 <script>
569 $(document).ready(function() {
570 var title = "$title";
571 sendHitUser(title);
572 });
573 </script>
574
575 ##USUARIO ANONIMO
576 #if ($environment != 'PREVIEW')
577 #php_if("strlen(getenv('ITER_USER'))===0")
578 #if($product == "registrados")
579 #set($cons = "#echoCookieField('ITER-PAYWALL_PRODUCT_INFO-BHJ-ARTS_CONSUMED')")
580 #set($total = "#echoCookieField('ITER-PAYWALL_PRODUCT_INFO-BHJ-ARTS_TOTAL')")
581 <script>
582 var cons = ${cons};
583 var total = ${total};
584 var disp = total-cons;
585 $(".paywall-title span").html(disp);
586 </script>
587 #end
588 #php_end
589 #end
590
591 #set ($Entradilla = $articleToolbox.getTag(null,"Lead").data)
592
593 ##SUBHEADLINE/TOPHEADLINE
594 #set ($tempSubheadline = "#getTeaserSubheadline(true)")
595 #if ($tempSubheadline && $tempSubheadline != "")
596 <h2 class="subheadline">#getTeaserSubheadline_v1(false)</h2>
597 #else
598 <h2 class="subheadline">$Entradilla</h2>
599 #end
600
601 <!-- /1021010/v_mid1 -->
602 <div class="banner-bg">
603 <div class="banner-flex">
604 <div class="publicidad-container" style="height: 650px;">
605 <a target="_blank" rel="noopener noreferrer" class="publicidad-label">Publicidad</a>
606 <div id="div-gpt-ad-1733161081350-0" style="width: 100%; height: 600px;justify-items: center;"></div>
607 </div>
608 </div>
609 </div>
610
611 <div class="info-rrss">
612 ## SECC / FECHA
613 <div class="info"><span class="secc"> #printTopcontainer_v1("section" "")</span> / <span class="date">#printDateAgo($dateMask "Hace" "minuto" "hora")</span></div>
614 </div>
615
616 ##----BOTONES DE COMPARTIR (CON URL ENCODING Y NOOPENER)----
617 <div class="rrss end d-movil" style="position: sticky; top: 38px; background: white; z-index: 3;">
618 <div class="cab-rrss">COMPARTIR</div>
619 <div class="network-social" style="height: 100px;margin-top: -27px;">
620 <ul class="social-options">
621 <li>
622 <a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u=${hostName}${canonicalUrlEncoded}" target="_blank" rel="noopener noreferrer" title="Compartir en Facebook">
623 <div class="fab facebook"></div>
624 </a>
625 </li>
626 <li>
627 <a class="twitter" href="https://twitter.com/intent/tweet?text=${titleUrlEncoded}&url=${hostName}${canonicalUrlEncoded}" target="_blank" rel="noopener noreferrer" title="Compartir en Twitter">
628 <div class="fab twitter"></div>
629 </a>
630 </li>
631 <li>
632 <a class="whatsapp" href="https://api.whatsapp.com/send?text=${titleUrlEncoded}%20-%20${hostName}${canonicalUrlEncoded}" target="_blank" rel="noopener noreferrer" title="Compartir en Whatsapp">
633 <div class="fab whatsapp"></div>
634 </a>
635 </li>
636 <li>
637 <a class="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=${hostName}${canonicalUrlEncoded}" target="_blank" rel="noopener noreferrer" title="Compartir en Linkedin">
638 <div class="fab linkedin"></div>
639 </a>
640 </li>
641 </ul>
642 </div>
643 </div>
644
645 <div class="canonical hidden"></div>
646
647 <!-- acceder save post (ESCAPADO) -->
648 <div id="eww-save-post"
649 data-post-title="$title"
650 data-post-id="$reserved-article-id.data"
651 data-author="$NombreAutorEsc"
652 data-section="$sectionEsc"
653 data-author-id="$IDAutor">
654 </div>
655
656 <div id="col-60-40-top-one-col"
657 data-post-type="$htmlUtil.escape($product)"
658 data-section="$sectionEsc"
659 data-author="$NombreAutorEsc"
660 data-post-title="$title"
661 data-post-id="$reserved-article-id.data"
662 data-author-id="$IDAutor">
663
664 ##TEXTO
665 <div class="text resizable lazy-load">
666 #printHTMLContentArticle_v1($arrayListContenidos, "crop_full", "100%", "100%", "375", $addInParagraph)
667
668 <div class="metadatos">
669 #set($hmTemas = {})
670 #getAcAssignedCatExtended_v1($hmTemas "Topic")
671
672 #set($hmGeografico = {})
673 #getAcAssignedCatExtended_v1($hmGeografico "Location")
674
675 #set($hmCompanies = {})
676 #getAcAssignedCatExtended_v1($hmCompanies "Companies")
677
678 #set($hmPersonajes = {})
679 #getAcAssignedCatExtended_v1($hmPersonajes "People")
680
681 ## TAGS (ESCAPADOS)
682 <style>
683 .topicsdiv {
684 display: grid;
685 gap: 10px;
686 justify-content: center;
687 margin: 20px;
688 justify-items: center;
689 }
690 @media (min-width: 768px) {
691 .topicsdiv {
692 display: flex;
693 gap: 10px;
694 justify-content: center;
695 margin: 20px;
696 }
697 }
698 </style>
699
700 <div class="temas" temas="$hmTemas.size()">
701 #if($hmTemas && $hmTemas.size() > 0)
702 <div style="text-align: center; text-transform: uppercase; justify-items: stretch; align-content: center; border-bottom: solid 2.5px #ff7c2c; margin-left: auto; margin-right: auto; font-family: 'PT Sans', helvetica, arial, sans-serif; max-width: 200px;">TEMAS</div>
703 <div class="topicsdiv">
704 #set($count = 0)
705 #foreach($elem in $hmTemas)
706 #if($count < 3)
707 <div class="item_tema t_$hmTemas.size() keywords TemasTopics">
708 <a href="/topic/-/meta/$htmlUtil.escape($elem.friendlyname)">$htmlUtil.escape($elem.name)</a>
709 </div>
710 #set($count = $count + 1)
711 #end
712 #end
713 </div>
714 #end
715
716 #if($hmGeografico && $hmGeografico.size() > 0)
717 <div style="text-align: center; text-transform: uppercase; justify-items: stretch; align-content: center; border-bottom: solid 2.5px #ff7c2c; margin-left: auto; margin-right: auto; font-family: 'PT Sans', helvetica, arial, sans-serif; max-width: 200px;">Localizaciones</div>
718 <div class="topicsdiv">
719 #set($count = 0)
720 #foreach($elem in $hmGeografico)
721 #if($count < 3)
722 <div class="item_tema t_$hmGeografico.size() keywords TemasLocalizaciones">
723 <a href="/localizaciones/-/meta/$htmlUtil.escape($elem.friendlyname)">$htmlUtil.escape($elem.name)</a>
724 </div>
725 #set($count = $count + 1)
726 #end
727 #end
728 </div>
729 #end
730
731 #if($hmPersonajes && $hmPersonajes.size() > 0)
732 <div style="text-align: center; text-transform: uppercase; justify-items: stretch; align-content: center; border-bottom: solid 2.5px #ff7c2c; margin-left: auto; margin-right: auto; font-family: 'PT Sans', helvetica, arial, sans-serif; max-width: 200px;">Personajes</div>
733 <div class="topicsdiv">
734 #set($count = 0)
735 #foreach($elem in $hmPersonajes)
736 #if($count < 3)
737 <div class="item_tema t_$hmPersonajes.size() keywords TemasPersonajes">
738 <a href="/personajes/-/meta/$htmlUtil.escape($elem.friendlyname)">$htmlUtil.escape($elem.name)</a>
739 </div>
740 #set($count = $count + 1)
741 #end
742 #end
743 </div>
744 #end
745
746 #if($hmCompanies && $hmCompanies.size() > 0)
747 <div style="text-align: center; text-transform: uppercase; justify-items: stretch; align-content: center; border-bottom: solid 2.5px #ff7c2c; margin-left: auto; margin-right: auto; font-family: 'PT Sans', helvetica, arial, sans-serif; max-width: 200px;">Organizaciones</div>
748 <div class="topicsdiv">
749 #set($count = 0)
750 #foreach($elem in $hmCompanies)
751 #if($count < 3)
752 <div class="item_tema t_$hmCompanies.size() keywords TemasOrganizaciones">
753 <a href="/organizaciones/-/meta/$htmlUtil.escape($elem.friendlyname)">$htmlUtil.escape($elem.name)</a>
754 </div>
755 #set($count = $count + 1)
756 #end
757 #end
758 </div>
759 #end
760 </div>
761 </div>
762
763 ##----TARJETA DE AUTOR (ESCAPADA)----
764 #if($hmAutores && $hmAutores.size() > 0)
765 #foreach($elem in $hmAutores)
766 #set($NombreAutorEsc = $htmlUtil.escape($elem.name.replace('"', '')))
767 #set($IDAutor = $elem.id)
768 #set($elemFriendlyEsc = $htmlUtil.escape($elem.friendlyname))
769
770 #set($articuloAutor = $aboutCategoryArticles.getArticle("$IDAutor"))
771
772 #if($articuloAutor)
773 #set($imgAuthor = $!articuloAutor.getImageTag("Image","0","crop_250x250","","","","","true","",""))
774
775 #set($autorHeadlineEsc = "")
776 #if($articuloAutor.Headline && $articuloAutor.Headline.data)
777 #set($autorHeadlineEsc = $htmlUtil.escape($articuloAutor.Headline.data))
778 #end
779
780 #set($autorTextData = "")
781 #if($articuloAutor.Text && $articuloAutor.Text.data)
782 #set($autorTextData = $articuloAutor.Text.data)
783 #end
784
785 #set($autorTwitterEsc = "")
786 #if($articuloAutor.twitterProfile && $articuloAutor.twitterProfile.data)
787 #set($autorTwitterEsc = $htmlUtil.escape($articuloAutor.twitterProfile.data))
788 #end
789
790 #set($autorEmailEsc = "")
791 #if($articuloAutor.emailAutor && $articuloAutor.emailAutor.data)
792 #set($autorEmailEsc = $htmlUtil.escape($articuloAutor.emailAutor.data))
793 #end
794
795 #if($autorTextData.trim() != "" && $autorHeadlineEsc.trim() != "")
796 <div style="border-top: solid 1px #80808047;margin-top: 30px;max-width: 1000px;margin-left: auto;margin-right: auto;"></div>
797
798 <style>
799 div.media_block1 a div img {
800 border-radius: 50% !important;
801 border: #ff6d00 3px solid;
802 }
803 .misarticulos {
804 font-size: 1rem;
805 text-transform: uppercase;
806 font-family: "PT Sans", helvetica, arial, sans-serif;
807 font-weight: 400;
808 letter-spacing: 1px;
809 border-bottom: solid 2.5px #ff7c2c;
810 max-width: 168px;
811 margin: 0 auto;
812 }
813 .author-card2 {
814 border: #c7c7c7d1 1px solid;
815 margin-block: 50px;
816 width: 90%;
817 margin-inline: auto;
818 padding-inline: 5%;
819 padding-top: 30px;
820 background-color: #F2F2F2;
821 max-width: 600px;
822 }
823 .author-description {
824 padding-inline: 5%;
825 margin-bottom: 20px;
826 }
827 .author-description a {
828 color: #ff6d00 !important;
829 }
830 </style>
831
832 <div class="author-card2">
833 <div class="row">
834 <div class="col-12" style="display:flex;justify-content:center;">
835 <div class="media_block1" style="padding:1rem;margin-top:15px;">
836 <a style="width:140px;display:flex;margin:auto;" href="/autor/-/meta/$elemFriendlyEsc" title="$autorHeadlineEsc">
837 $!imgAuthor
838 </a>
839 <a style="color: black;" href="/autor/-/meta/$elemFriendlyEsc"><p style='font-size:1.7rem;font-family:"PT Serif",Georgia,serif;font-weight:400;line-height:120%;margin-top:15px;'>$autorHeadlineEsc</p></a>
840 </div>
841 </div>
842 </div>
843
844 <div class="row">
845 <div class="col-12" style="display:flex;justify-content:center;margin-bottom:30px;">
846 <div class="text_block">
847 <div class="author-description">$autorTextData</div>
848 <div class="row">
849 <div class="col-12" style="display:flex;justify-content:center;">
850 #if($autorTwitterEsc != "")
851 <div style="margin-right:20px;" class="author-twitter1">
852 <a href="$autorTwitterEsc" target="_blank" rel="noopener noreferrer">
853 <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 512 512" style="font-size:30px;">
854 <style>svg{fill:#FF6600 !important}</style>
855 <path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/>
856 </svg>
857 </a>
858 </div>
859 #end
860
861 #if($autorEmailEsc != "")
862 <div class="author-email1">
863 <a href="mailto:$autorEmailEsc">
864 <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 512 512" style="font-size:30px;">
865 <style>svg{fill:#FF6600 !important}</style>
866 <path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/>
867 </svg>
868 </a>
869 </div>
870 #end
871 </div>
872 </div>
873 </div>
874 </div>
875 </div>
876 </div>
877 #end
878 #end
879 #end
880 #end
881
882 <!-- /1021010/v_mid2 -->
883 <div class="banner-bg">
884 <div class="banner-flex">
885 <div class="publicidad-container" style="height: 650px;">
886 <a target="_blank" rel="noopener noreferrer" class="publicidad-label">Publicidad</a>
887 <div id="div-gpt-ad-1733161131848-0" style="width: 100%; height: 600px;justify-items: center;"></div>
888 </div>
889 </div>
890 </div>
891
892 </div>
893
894 </div>
895
896 ##GENÉRICOS
897 #if($Generic && $Generic.getSiblings().size()>0)
898 <ul class="generic">
899 #foreach ($el in $Generic.getSiblings())
900 <li><span class="icon"></span><a href="$!el.Document.data">$htmlUtil.escape($!el.data) ($htmlUtil.escape($el.Extension.data))</a></li>
901 #end
902 </ul>
903 #end
904
905 ##RELACIONADAS EXTERNAS (ESCAPADAS)
906 #set ($urlLink = $articleToolbox.getTag(null,"linkURL"))
907 #set ($titleLink = $articleToolbox.getTag(null,"linkTitle"))
908 #if(($urlLink && $urlLink.data != "") && ($titleLink && $titleLink.data != ""))
909 <a class="ext_link" href="$htmlUtil.escape($!urlLink.data)" target="_blank" rel="noopener noreferrer nofollow">
910 <strong>$htmlUtil.escape($!titleLink.data)</strong>
911 </a>
912 #end
913
914 ##RELACIONADAS INTERNAS
915 #if($linkIntTitle && $linkIntTitle.getSiblings().size()>0)
916 <div class="link_tpi">
917 <div class="head_int"><span class="icon"></span> TE PUEDE INTERESAR: </div>
918 #foreach ($el in $linkIntTitle.getSiblings())
919 <div class="item_int"><a href="$!el.linkIntURL.data">$htmlUtil.escape($!el.data)</a></div>
920 #end
921 </div>
922 #end
923
924 ##COMENTARIOS
925 <div class="fb-comments">
926 #set($urlfb = $canonicalUrl)
927 #foreach ($element in $urlfb.split("-"))
928 #set($urlid = $element)
929 #end
930 #set($urlfb = "FB-" + $urlid)
931
932 <fb:comments href="#siteUrl()/$urlfb" num_posts="10" width="100%" colorscheme="light"></fb:comments>
933
934 <!-- comentarios acceder (ESCAPADO) -->
935 <div style="border-top: solid 1px #80808047;margin-top: 30px;">
936 <h2 style="margin-top: 25px; font-size: 1.1rem; letter-spacing: 0px !important; border-left: 4px solid #F16504; padding-left: 5px; text-transform: uppercase; font-family: 'PT Sans', helvetica, arial, sans-serif; font-weight: 400; max-width: 500px !important; margin-left: auto; margin-right: auto;">COMENTARIOS</h2>
937 </div>
938 <div style="max-width: 500px !important; margin-left: auto; margin-right: auto;"
939 id="eww-comments"
940 data-post-id="$reserved-article-id.data"
941 data-author="$NombreAutorEsc"
942 data-section="$sectionEsc"
943 data-post-title="$title"
944 data-author-id="$IDAutor">
945 </div>
946 </div>
947
948 <div id="eww-mailchimp"></div>
949
950 <!-- /1021010/v_bot -->
951 <div class="banner-bg">
952 <div class="banner-flex">
953 <div class="publicidad-container" style="height: 650px;">
954 <a target="_blank" rel="noopener noreferrer" class="publicidad-label">Publicidad</a>
955 <div id="div-gpt-ad-1733161178287-0" style="width: 100%; height: 600px;justify-items: center;"></div>
956 </div>
957 </div>
958 </div>
959
960 </div>
961
962</article>
963
964<!-- Scripts para Lista sin Publicidad -->
965<script>
966 document.addEventListener('DOMContentLoaded', function() {
967 var blocks = document.querySelectorAll('.block_Parrafo_Lista');
968 blocks.forEach(function(block) {
969 var paragraphs = block.querySelectorAll('p');
970 var combinedContent = '';
971 var elementsToRemove = [];
972 paragraphs.forEach(function(paragraph) {
973 if (!paragraph.classList.length) {
974 combinedContent += paragraph.innerHTML.trim() + ' ';
975 elementsToRemove.push(paragraph);
976 }
977 });
978 if (combinedContent.trim()) {
979 var newParagraph = document.createElement('p');
980 newParagraph.innerHTML = combinedContent.trim();
981 block.appendChild(newParagraph);
982 }
983 elementsToRemove.forEach(function(element) {
984 element.remove();
985 });
986 });
987 });
988</script>
989
990<script>
991 document.addEventListener('DOMContentLoaded', function() {
992 var elements = document.querySelectorAll('div.lead.destacado');
993 elements.forEach(function(element) {
994 element.setAttribute('itemprop', 'description');
995 });
996 });
997</script>
998
999<style>
1000 div.block_Parrafo_Lista p {
1001 margin: 0px !important;
1002 }
1003 div.block_Parrafo_Lista p b {
1004 height: auto;
1005 display: block;
1006 margin-top: 10px;
1007 }
1008</style>