1## ---------------- JSON ------------------------
2## --------- schema.org NewsArticle -------------
3
4## ORGANIZATION ******************************
5#set($OrganizationName = "DIARIO DEL PUERTO")
6
7## RESTRICTED ******************************
8#set($article_is_restricted = $articleToolbox.article_is_restricted())
9
10## URL *******************
11#set($ac-url = $articleContext.selectNodes('articlectx/url'))
12#set($xml-url = $ac-url.get(0).text)
13#set($url_actual = $!xml-url )
14
15## HEADLINE *****************
16#set ($Headline = "")
17#getTagMacro_v1($Headline, '', 'Headline', -1, '', '')
18#set($TituloEsc = $htmlUtil.escape($!Headline.data))
19#set($TituloEsc = $TituloEsc.replaceAll("\n", ""))
20
21## SUBHEADLINE *******************
22#set ($tempSubheadline = "#getTeaserSubheadline_v1(false)")
23#if($tempSubheadline && $tempSubheadline != "")
24 #set($Texto = $tempSubheadline )
25#end
26#set($Texto = $!Texto.replaceAll("<.*?>","") )
27#set($Texto = $!Texto.trim() )
28#set($TextoEsc = $!htmlUtil.escape($Texto))
29
30## TEXT ******************************
31#set($Text = "")
32
33#getTagMacro_v1($Text, '', 'Text', -1, '', '')
34#set($TextArt = $!Text.data)
35#set($TextArt = $TextArt.replaceAll("<.*?>","") )
36#set($TextArt = $TextArt.trim() )
37#set($TextoFinal = $!htmlUtil.escape($TextArt))
38#if($article_is_restricted)
39 #set($TextoFinal = "")
40#end
41
42## KEYWORDS ***************************
43#set($keywordsfinal = '')
44#set($keywordsfinal_datalayer = '')
45#set($auxCatalagoTema = {})
46#getAcAssignedCatExtended_v1($auxCatalagoTema 'Topics')
47#if($auxCatalagoTema & &$auxCatalagoTema.size() > 0)
48 #foreach($keyword in $auxCatalagoTema)
49 #if($keywordsfinal == '')
50 #set($keywordsfinal = $keyword.friendlyname)
51 #else
52 #set($keywordsfinal = $keywordsfinal + ',' + $keyword.friendlyname)
53 #end
54
55 #if($keywordsfinal_datalayer == '')
56 #set($keywordsfinal_datalayer = $keyword.friendlyname.replaceAll("-", " "))
57 #else
58 #set($keywordsfinal_datalayer = $keywordsfinal_datalayer + '|' + $keyword.friendlyname.replaceAll("-", " "))
59 #end
60 #end
61 #set($keywordsfinal = '"' + $keywordsfinal + '"')
62 #set($keywordsfinal_datalayer = '"' + $keywordsfinal_datalayer + '"')
63#else
64 #set($keywordsfinal = 'undefined')
65 #set($keywordsfinal_datalayer = '""')
66#end
67
68## LOGO **************************
69#set($logo = "$!iterVelocityTools.getVariable('0','logo_grupo_editorial')" )
70#set($logo = $logo.trim() )
71#set($logo = $htmlUtil.escape($logo))
72#set($logo = $logo.replaceAll("/","\/") )
73
74## SECTION ***********************
75#set($section = "")
76#set($ac-sectionDateFrom = $articleContext.selectNodes('articlectx/sections//section[@from]'))
77#if($ac-sectionDateFrom && $ac-sectionDateFrom.size() > 0)
78 #foreach ($atrib in $ac-sectionDateFrom.get(0).attributes() )
79 #if($atrib.name == "name")
80 #set($section = $!atrib.data)
81 #end
82 #end
83#end
84
85## AUTOR ***********************
86#set($autorfinal = "")
87#set($autorUrl = "")
88#set($hmAutores = {})
89#getAcAssignedCatExtended_v1($hmAutores "Author")
90#if($hmAutores && $hmAutores.size() > 0)
91 #set($hmAutor = $hmAutores.get(0))
92 #set($autorfinal = $hmAutor.friendlyname.replaceAll("-", " "))
93 #set($autorUrl = '/firma/-/meta/' + $hmAutor.friendlyname )
94#end
95#if($autorfinal == "")
96 #set($autorfinal = "redaccion")
97#end
98
99## VIDEOS*******************************
100#set($cont_video = '')
101#set ($Youtube_Text = "")
102#getTagMacro_v1($Youtube_Text, '', 'Youtube_Text', -1, '', '')
103#if(($Multimedia && $Multimedia.Document.data) || ($Youtube_Text && $Youtube_Text.data) || ($Vimeo && $Vimeo.data ) || ($Youtube && $Youtube.data))
104 #if($Multimedia && $Multimedia.Document.data != '')
105 #foreach ($el in $Multimedia.getSiblings())
106 #if ($el.Extension.data && $el.Extension.data == "mp4")
107 #if($cont_video != "")
108 #set($cont_video = $cont_video + ',')
109 #end
110 #set($cont_video = $cont_video +'{"@type": "VideoObject","name": "Interno","description": "","thumbnailUrl": "'+$!el.Preview.data+'","uploadDate": "'+$reserved-article-display-date.data+'","url": "'+$!el.Document.data+'"}')
111 #end
112 #end
113 #end
114 #if($Youtube && $Youtube.data)
115 #foreach ($el in $Youtube.getSiblings())
116 #if($cont_video != "")
117 #set($cont_video = $cont_video + ',')
118 #end
119 #set($cont_video = $cont_video + '{"@type": "VideoObject","name": "Youtube","description": "","thumbnailUrl": "https://img.youtube.com/vi/'+$el.data+'/maxresdefault.jpg","uploadDate": "'+$reserved-article-display-date.data+'","url": "https://www.youtube.com/embed/'+$el.data+'"}')
120 #end
121 #end
122 #if($Youtube_Text && $Youtube_Text.data)
123 #foreach ($el in $Youtube_Text.getSiblings())
124 #if($cont_video != "")
125 #set($cont_video = $cont_video + ',')
126 #end
127 #set($cont_video = $cont_video + '{"@type": "VideoObject","name": "Youtube","description": "", "thumbnailUrl": "https://img.youtube.com/vi/'+$el.data+'/maxresdefault.jpg","uploadDate": "'+$reserved-article-display-date.data+'","url": "www.youtube.com/embed/'+$el.data+'"}')
128 #end
129 #end
130#end
131
132
133#set($dateD=$dateTool.toDate("EEE, dd MMM yyyy HH:mm:ss", $reserved-article-display-date.data))
134#set($dateDisplay = $dateFormats.getSimpleDateFormat('yyyy-MM-dd').format($dateD) + "T" + $dateFormats.getSimpleDateFormat('HH:mm:ss').format($dateD) + "+01:00")
135
136#set($dateM=$dateTool.toDate("EEE, dd MMM yyyy HH:mm:ss", $reserved-article-modified-date.data))
137#set($dateModified = $dateFormats.getSimpleDateFormat('yyyy-MM-dd').format($dateM) + "T" + $dateFormats.getSimpleDateFormat('HH:mm:ss').format($dateM) + "+01:00")
138
139
140## IMAGES ************************************
141#set ($numImage = $articleToolbox.getNumImageTags("Image", "true"))
142#set ($numImage = $numberTool.toNumber($hasImages).intValue())
143
144#set($cont_image = '')
145
146#if($numImage && $numImage > 0)
147 #set ($numImageFor = $numImage - 1)
148 #foreach($i in [0..$numImageFor])
149 #set($NodeImage = $articleToolbox.getImageNode("Image", "$i", "true"))
150 #set($UrlImage = $articleToolbox.getImageURL("Image", "$i", "crop1200x980"))
151 #if($cont_image != "")
152 #set($cont_image = $cont_image + ',')
153 #end
154 #set($cont_image = $cont_image + '{"@type": "ImageObject","url": "'+$UrlImage+'","datePublished": "'+$dateDisplay+'"')
155 #if($!NodeImage.Byline && $!NodeImage.Byline.data != "")
156 #set($BylineImage = $!NodeImage.Byline.data)
157 #set($cont_image = $cont_image + ',"author": "'+$!htmlUtil.escape($BylineImage)+'"')
158
159 #end
160 #if($!NodeImage.Cutline && $!NodeImage.Cutline.data != "")
161 #set($CutlineImage = $!NodeImage.Cutline.data)
162 #set($cont_image = $cont_image + ',"caption": "'+$!htmlUtil.escape($CutlineImage)+'","name": "'+$!CutlineImage+'"')
163 #end
164 #set($cont_image = $cont_image + '}')
165 #end
166
167#end
168#set ($numImageText = $articleToolbox.getNumImageTags("Image_Text", "true"))
169#if(!$numImageText)
170 #set ($numImageText = 0)
171#end
172#if($numImageText && $numImageText > 0)
173 #set ($numImageForT = $numImageText - 1)
174 #foreach($i in [0..$numImageForT])
175 #set($NodeImage = $articleToolbox.getImageNode("Image_Text", "$i", "true"))
176 #set($UrlImage = $articleToolbox.getImageURL("Image_Text", "$i", "crop1200x980"))
177 #if($cont_image != "")
178 #set($cont_image = $cont_image + ',')
179 #end
180 #set($cont_image = $cont_image + '{"@type": "ImageObject","url": "'+$UrlImage+'","datePublished": "'+$dateDisplay+'"')
181 #if($!NodeImage.Byline && $!NodeImage.Byline.data != "")
182 #set($BylineImage = $!NodeImage.Byline.data)
183 #set($cont_image = $cont_image + ',"author": "'+$!htmlUtil.escape($BylineImage)+'"')
184
185 #end
186 #if($!NodeImage.Cutline && $!NodeImage.Cutline.data != "")
187 #set($CutlineImage = $!NodeImage.Cutline.data)
188 #set($cont_image = $cont_image + ',"caption": "'+$!htmlUtil.escape($CutlineImage)+'","name": "'+$!htmlUtil.escape($CutlineImage)+'"')
189 #end
190 #set($cont_image = $cont_image + '}')
191 #end
192#end
193
194<script type="application/ld+json">
195 {
196 "@context": "http://schema.org",
197 "@type": "NewsArticle",
198 "mainEntityOfPage": {
199 "@type": "WebPage",
200 "@id": "#siteUrl()$url_actual"
201 },
202 "headline": "$TituloEsc",
203#if($keywordsfinal != 'undefined')#*
204*# "keywords": [ $keywordsfinal],#*
205*##end
206 "articleBody": "$TextoFinal",
207 "url": "#siteUrl()$url_actual",
208 "articleSection":"$section",
209 "datePublished": "$dateDisplay",
210 "dateModified": "$dateModified",
211#if ($article_is_restricted)#*
212*# "isAccessibleForFree": "False",#*
213*# "conditionsOfAccess" : "Contenido restringuido para suscriptores",#*
214*# "hasPart":{#*
215*# "@type": "WebPageElement",#*
216*# "isAccessibleForFree": "False",#*
217*# "cssSelector" : ".restricted"#*
218*# },#*
219*##else#*
220*# "isAccessibleForFree": "True",#*
221*##end
222 "author":[{
223 "@type": "Person",
224 "name": "$autorfinal",
225 "url": "#siteUrl()$!autorUrl"
226 }],
227 "publisher": {
228 "@type": "Organization",
229 "name": "$OrganizationName",
230 "logo": {
231 "@type": "ImageObject",
232 "url": "$logo"
233 }
234 },
235#if($cont_image != "")#*
236*# "image":[$cont_image],#*
237*##end#*
238*##if($cont_video != "")#*
239*# "video":[$cont_video],#*
240*##end
241 "description": "$!TextoEsc"
242 }
243</script>