1## ---------------- JSON ------------------------
2## --------- schema.org NewsArticle -------------
3
4## ORGANIZATION ******************************
5#set($OrganizationName = "DIARI DE TARRAGONA")
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#set($TextoFinal = "")
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.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')" )
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.size() > 0)
91 #set($hmAutor = $hmAutores.get(0))
92 #set($autorfinal = $hmAutor.friendlyname.replaceAll("-", " "))
93 #set($autorUrl = '/autor/-/meta/' + $hmAutor.friendlyname )
94#end
95#if($autorfinal == "")
96 #set($autorfinal = "redaccion")
97#end
98
99## VIDEOS*******************************
100#set($cont_video = '')
101
102#getTagMacro_v1($Youtube_Text, '', 'Youtube_Text', -1, '', '')
103#if(($Multimedia && $Multimedia.Document.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#end
115
116## IMAGES ************************************
117#set($cont_image = '')
118#if(!$numImage)
119 #set ($numImage = 0)
120#end
121#if($numImage > 0)
122 #set ($numImageFor = $numImage - 1)
123 #foreach($i in [0..$numImageFor])
124 #set($NodeImage = $articleToolbox.getImageNode("Image", "$i", "true"))
125 #set($UrlImage = $articleToolbox.getImageURL("Image", "$i", "crop1200x980"))
126 #if($cont_image != "")
127 #set($cont_image = $cont_image + ',')
128 #end
129 #set($cont_image = $cont_image + '{"@type": "ImageObject","url": "'+$UrlImage+'","datePublished": "'+$reserved-article-display-date.data+'"')
130 #if($!NodeImage.Byline && $!NodeImage.Byline.data != "")
131 #set($BylineImage = $!NodeImage.Byline.data)
132 #set($cont_image = $cont_image + ',"author": "'+$!htmlUtil.escape($BylineImage)+'"')
133
134 #end
135 #if($!NodeImage.Cutline && $!NodeImage.Cutline.data != "")
136 #set($CutlineImage = $!NodeImage.Cutline.data)
137 #set($cont_image = $cont_image + ',"caption": "'+$!htmlUtil.escape($CutlineImage)+'","name": "'+$!CutlineImage+'"')
138 #end
139 #set($cont_image = $cont_image + '}')
140 #end
141
142#end
143#set ($numImageText = $articleToolbox.getNumImageTags("Image_Text", "true"))
144#if(!$numImageText)
145 #set ($numImageText = 0)
146#end
147#if($numImageText > 0)
148 #set ($numImageForT = $numImageText - 1)
149 #foreach($i in [0..$numImageForT])
150 #set($NodeImage = $articleToolbox.getImageNode("Image_Text", "$i", "true"))
151 #set($UrlImage = $articleToolbox.getImageURL("Image_Text", "$i", "crop1200x980"))
152 #if($cont_image != "")
153 #set($cont_image = $cont_image + ',')
154 #end
155 #set($cont_image = $cont_image + '{"@type": "ImageObject","url": "'+$UrlImage+'","datePublished": "'+$reserved-article-display-date.data+'"')
156 #if($!NodeImage.Byline && $!NodeImage.Byline.data != "")
157 #set($BylineImage = $!NodeImage.Byline.data)
158 #set($cont_image = $cont_image + ',"author": "'+$!htmlUtil.escape($BylineImage)+'"')
159
160 #end
161 #if($!NodeImage.Cutline && $!NodeImage.Cutline.data != "")
162 #set($CutlineImage = $!NodeImage.Cutline.data)
163 #set($cont_image = $cont_image + ',"caption": "'+$!htmlUtil.escape($CutlineImage)+'","name": "'+$!htmlUtil.escape($CutlineImage)+'"')
164 #end
165 #set($cont_image = $cont_image + '}')
166 #end
167#end
168
169#set ($portalBeanLocator = $portal.getClass().forName('com.liferay.portal.kernel.bean.PortalBeanLocatorUtil'))
170#set ($dateFormatFactory = $portalBeanLocator.locate('com.liferay.portal.kernel.util.DateFormatFactoryUtil'))
171#set ($indexFormat = $dateFormatFactory.getSimpleDateFormat('EEE, dd MMM yyyy HH:mm:ss Z'))
172#set ($date1 = $indexFormat.parse("$reserved-article-modified-date.data"))
173#set ($date2 = $indexFormat.parse("$reserved-article-display-date.data"))
174
175#set($timezone = $dateTool.timeZone('Europe/Madrid'))
176#set ($dateMod = $dateTool.format("yyyy-MM-dd'T'HH:mm:ssZ", $date1, $timezone))
177#set ($datePub = $dateTool.format("yyyy-MM-dd'T'HH:mm:ssZ", $date2, $timezone))
178
179<script type="application/ld+json">
180 {
181 "@context": "http://schema.org",
182 "@type": "NewsArticle",
183 "mainEntityOfPage": {
184 "@type": "WebPage",
185 "@id": "#siteUrl()$url_actual"
186 },
187 "headline": "$!TituloEsc",
188#if($keywordsfinal != 'undefined')#*
189*# "keywords": [ $keywordsfinal],#*
190*##end
191 "articleBody": "$!TextoFinal",
192 "url": "#siteUrl()$url_actual",
193 "articleSection":"$!section",
194 "datePublished": "$!datePub",
195 "dateModified": "$!dateMod",
196#if ($article_is_restricted)#*
197*# "isAccessibleForFree": "False",#*
198*# "conditionsOfAccess" : "Contenido restringuido para suscriptores",#*
199*# "hasPart":{#*
200*# "@type": "WebPageElement",#*
201*# "isAccessibleForFree": "False",#*
202*# "cssSelector" : ".restricted"#*
203*# },#*
204*#else#*
205*# "isAccessibleForFree": "True",#*
206*##end
207 "author":[{
208 "@type": "Person",
209 "name": "$autorfinal",
210 "url": "#siteUrl()$!autorUrl"
211 }],
212 "publisher": {
213 "@type": "Organization",
214 "name": "$OrganizationName",
215 "logo": {
216 "@type": "ImageObject",
217 "url": "$logo"
218 }
219 },
220#if($cont_image != "")#*
221*# "image":[$cont_image],#*
222*##end#*
223*##if($cont_video != "")#*
224*# "video":[$cont_video],#*
225*##end
226 "description": "$!TextoEsc"
227 }
228</script>
229## NO SON DE MIGRACION AÑADIMOS AMP ***************************
230#set($auxCatalagoMigracion = {})
231#getAcAssignedCatExtended_v1($auxCatalagoMigracion 'migracion')
232#if($auxCatalagoMigracion.size() == 0 && $!section != "Lab Protec")
233 #set($linkAmpHtml = {})
234 #set($URLAmp = "https://www.diaridetarragona.com/google-amp" + $!articleToolbox.getArticleViewer("canonical") )
235 #set($temp = $linkAmpHtml.put("rel","amphtml"))
236 #set($temp = $linkAmpHtml.put("href", $URLAmp))
237 $iterVelocityTools.addLinkTag( $linkAmpHtml )
238 <div value="NO ES MIGRADO NI LAB PROTEC AÑADE AMP" style="display:none;"></div>
239#else
240 <div value="SI ES MIGRADO O LAB PROTEC" style="display:none;"></div>
241#end