S'ha produït un error mentre es processava la plantilla.
Java method "com.mutualmedica.portal.adaptive.media.AdaptiveMediaUtil.getAdaptiveMediaUrl(String, String)" threw an exception when invoked on com.mutualmedica.portal.adaptive.media.AdaptiveMediaUtil object "com.mutualmedica.portal.adaptive.media.AdaptiveMediaUtil@6cdb0b6f"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign smallestImageURL = adaptiveMe... [in template "20097#20123#NOTICIA_DETALLE" at line 343, column 185]
----
1<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")>
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
3<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
4<#assign currentSite = mmFilterService.getCurrentWebsiteFromTemplate(themeDisplay)/>
5
6<#-- Parseo de la fecha de publicación y días -->
7<#assign publishDate = .vars['reserved-article-display-date'].data>
8<#assign originalLocale = .locale>
9<#setting locale = localeUtil.getDefault()>
10<#assign publishDate = publishDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
11<#assign publishDateIso8601 = publishDate?string("yyyy-MM-dd'T'HH:mm:ssXXX")>
12<#assign locale = originalLocale>
13<#assign localeCurrent = themeDisplay.getLocale() />
14
15<#assign numberOfSlides = GrupoImagenVideo.getSiblings()?size>
16
17<#-- Obtención de categorías del publicador de contenidos -->
18<#assign journalArticleId = .vars['reserved-article-id'].data>
19<#assign articleResourcePrimaryKey = journalArticleResourceLocalService.getArticleResourcePrimKey(groupId, journalArticleId)>
20<#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", articleResourcePrimaryKey)>
21<#assign assetCategories = assetEntry.getCategories()>
22
23<#assign portalURL = themeDisplay.getPortalURL() />
24<#assign currentUrl = portalURL + themeDisplay.getURLCurrent() />
25
26<#-- Obtención de otras noticias relacionadas -->
27<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')>
28<#assign void = assetEntryQuery.setOrderByCol1("publishDate")>
29<#assign void = assetEntryQuery.setOrderByCol2("title")>
30<#assign relatedNews = assetEntryLocalService.getEntries(assetEntryQuery)>
31
32
33<div id="${randomNamespace}detalleNoticia"
34 class="mm__content__detail">
35 <div class="container">
36
37 <#-- Título -->
38 <h1 id="titulo_noticia">
39 <#if (TitularNoticia.getData())??>
40 ${TitularNoticia.getData()}
41 </#if>
42 </h1>
43
44 <#-- Subtítulo -->
45 <h2 id="descripcion_noticia" class="col-md-10 px-0">
46 <#if (SubtituloNoticia.getData())??>
47 ${SubtituloNoticia.getData()}
48 </#if>
49 </h2>
50
51 <div class="mm__share">
52 <div class="dropdown">
53 <a class="dropdown-toggle"
54 href="#"
55 id="mm__social-network"
56 data-toggle="dropdown"
57 aria-haspopup="true"
58 aria-expanded="false">
59 <svg xmlns="http://www.w3.org/2000/svg"
60 width="50"
61 height="50"
62 viewBox="0 0 63 63"
63 fill="none">
64 <circle cx="31.5"
65 cy="31.5"
66 r="30"
67 stroke="#007BC2"
68 stroke-width="3" />
69 <path d="M41 44.8003L22 31.5003L41 18.2003"
70 stroke="#007BC2"
71 stroke-width="3" />
72 <circle cx="39.1008"
73 cy="20.1003"
74 r="5.3"
75 fill="white"
76 stroke="#007BC2"
77 stroke-width="3" />
78 <circle cx="39.1008"
79 cy="42.9001"
80 r="5.3"
81 fill="white"
82 stroke="#007BC2"
83 stroke-width="3" />
84 <circle cx="20.1008"
85 cy="31.5002"
86 r="5.3"
87 fill="white"
88 stroke="#007BC2"
89 stroke-width="3" />
90 </svg>
91 </a>
92 <div class="mm__social-network dropdown-menu dropdown-menu-right"
93 aria-labelledby="mm__social-network"
94 style="position: absolute; will-change: transform; top: 0px; transform: translate3d(25px, 30px, 0px); min-width: 0;">
95 <ul>
96 <li>
97 <a target="_blank"
98 class="share"
99 href="https://twitter.com/intent/tweet?original_referer=${TitularNoticia.getData()}&text=${TitularNoticia.getData()}&tw_p=tweetbutton&url=${currentUrl}&hashtags=MutualMedica">
100 <svg xmlns="http://www.w3.org/2000/svg"
101 width="35"
102 height="35"
103 fill="currentColor"
104 class="bi bi-twitter"
105 viewBox="0 0 16 16">
106 <path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" />
107 </svg>
108 </a>
109 </li>
110 <li>
111 <a target="_blank"
112 class="share"
113 href="https://wa.me/?text=${currentUrl}">
114 <svg xmlns="http://www.w3.org/2000/svg"
115 width="35"
116 height="35"
117 fill="currentColor"
118 class="bi bi-whatsapp"
119 viewBox="0 0 16 16">
120 <path d="M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z" />
121 </svg>
122 </a>
123 </li>
124 <li>
125 <a target="_blank"
126 class="share"
127 href="https://www.linkedin.com/shareArticle?mini=true&url=${currentUrl}">
128 <svg xmlns="http://www.w3.org/2000/svg"
129 width="35"
130 height="35"
131 fill="currentColor"
132 class="bi bi-linkedin"
133 viewBox="0 0 16 16">
134 <path d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z" />
135 </svg>
136 </a>
137 </li>
138 <li>
139 <a target="_blank"
140 class="share"
141 href="mailto:?subject=${TitularNoticia.getData()}&body=${currentUrl}">
142 <svg xmlns="http://www.w3.org/2000/svg"
143 width="35"
144 height="35"
145 fill="currentColor"
146 class="bi bi-envelope"
147 viewBox="0 0 16 16">
148 <path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z" />
149 </svg>
150 </a>
151 </li>
152 </ul>
153 </div>
154 </div>
155 </div>
156
157 <div class="mm__category" style="max-width: 30rem;">
158 <#list assetCategories as category>
159 <#if localeCurrent?contains("ca_ES")>
160 <#if currentSite?contains("Fundación")>
161 <a href="${portalURL}/ca/coneixnos/actualitat?categories=${category.getCategoryId()}"
162 class="btn">${category.getTitle(localeCurrent)}</a>
163 <#elseif currentSite?contains("Jubilación")>
164 <a href="${portalURL}/ca/actualitat?categories=${category.getCategoryId()}"
165 class="btn">${category.getTitle(localeCurrent)}</a>
166 <#else>
167 <a href="${portalURL}/ca/noticies?categories=${category.getCategoryId()}"
168 class="btn">${category.getTitle(localeCurrent)}</a>
169 </#if>
170 <#else>
171 <#if currentSite?contains("Fundación")>
172 <a href="${portalURL}/conocenos/actualidad?categories=${category.getCategoryId()}"
173 class="btn">${category.getTitle(localeCurrent)}</a>
174 <#elseif currentSite?contains("Jubilación")>
175 <a href="${portalURL}/actualidad?categories=${category.getCategoryId()}"
176 class="btn">${category.getTitle(localeCurrent)}</a>
177 <#else>
178 <a href="${portalURL}/noticias?categories=${category.getCategoryId()}"
179 class="btn">${category.getTitle(localeCurrent)}</a>
180 </#if>
181 </#if>
182 </#list>
183 </div>
184
185 <div class="mm__date">
186 <p>
187 ${publishDate?string["dd MMM yyyy"]} · <#if (TiempoLecturaNoticia.getData())??> ${TiempoLecturaNoticia.getData()} </#if>
188 </p>
189 </div>
190
191 <#-- Carrusel de imagenes, vídeos, e iframes de Vimeo -->
192 <#if GrupoImagenVideo.getSiblings()?has_content>
193 <div id="${randomNamespace}newsCarousel"
194 class="carousel slide mm-img-carousel"
195 data-ride="carousel"
196 data-interval="false"
197 data-wrap="false">
198 <div class="carousel-inner">
199 <#list GrupoImagenVideo.getSiblings() as multimedia>
200 <@printMultimedia multimedia multimedia?is_first />
201 </#list>
202 </div>
203
204 <#-- Indicadores carrusel si hay más de un elemento multimedia -->
205 <#if GrupoImagenVideo.getSiblings()?size gt 1 || TextoNoticia.getData()?contains('<div class="embed-responsive')>
206 <ol class="carousel-indicators">
207 <#assign contadorIndicadores = 0/>
208 <#list 0..<GrupoImagenVideo.getSiblings()?size as i>
209 <li data-target="#${randomNamespace}newsCarousel"
210 data-slide-to="${i}"
211 class="${(i == 0)?string('active','')}"
212 id="${randomNamespace}slide${i_index}"></li>
213 <#assign contadorIndicadores = contadorIndicadores + 1/>
214 </#list>
215 <#if TextoNoticia.getData()?contains('<div class="embed-responsive')>
216 <li data-target="#${randomNamespace}newsCarousel"
217 data-slide-to="${contadorIndicadores}"
218 class="${(contadorIndicadores == 0)?string('active','')}"
219 id="${randomNamespace}slide${contadorIndicadores}"></li>
220 </#if>
221 </ol>
222 </#if>
223
224 </div>
225 </#if>
226
227
228 <#-- Contenido principal de la noticia y enlaces -->
229
230 <div id="textoNoticia"
231 class="mm__text__notice">
232 <#if (TextoNoticia.getData())??>
233 ${TextoNoticia.getData()}
234 </#if>
235 </div>
236
237 <#if AdjuntosNoticia.getSiblings()?has_content>
238 <#if AdjuntosNoticia.getSiblings()[0].getData()?has_content>
239 <div class="mm__content__info-relacionada">
240
241 <h3><@liferay.language key="mutualmedica.noticias.detalle.informacion" /></h3>
242 <#list AdjuntosNoticia.getSiblings() as enlaceVar>
243 <#if enlaceVar.getData()?has_content>
244 <#assign nombreDocumento = enlaceVar.getData()?split("/")>
245
246 <a class="mm__link__document"
247 href="${enlaceVar.getData()}"
248 target="_blank">${nombreDocumento[4]}</a>
249
250 </#if>
251 </#list>
252 </div>
253 </#if>
254 </#if>
255
256 <div class="mm__content__btn">
257 <#if localeCurrent?contains("ca_ES")>
258 <#if currentSite?contains("Fundación")>
259 <a class="mm__btn"
260 href="${portalURL}/ca/coneixnos/actualitat"><@liferay.language key="mutualmedica.noticias.detalle.volver" /></a>
261 <#elseif currentSite?contains("Jubilación")>
262 <a class="mm__btn"
263 href="${portalURL}/ca/actualitat"><@liferay.language key="mutualmedica.noticias.detalle.volver" /></a>
264 <#else>
265 <a class="mm__btn"
266 href="${portalURL}/ca/noticies"><@liferay.language key="mutualmedica.noticias.detalle.volver" /></a>
267 </#if>
268 <#else>
269 <#if currentSite?contains("Fundación")>
270 <a class="mm__btn"
271 href="${portalURL}/conocenos/actualidad"><@liferay.language key="mutualmedica.noticias.detalle.volver" /></a>
272 <#elseif currentSite?contains("Jubilación")>
273 <a class="mm__btn"
274 href="${portalURL}/actualidad"><@liferay.language key="mutualmedica.noticias.detalle.volver" /></a>
275 <#else>
276 <a class="mm__btn"
277 href="${portalURL}/noticias"><@liferay.language key="mutualmedica.noticias.detalle.volver" /></a>
278 </#if>
279 </#if>
280 </div>
281 </div>
282</div>
283<div id="otrasNoticias">
284 <div class="container">
285 <#if relatedNews?has_content && (relatedNews?size > 1)>
286
287 <div class="mm__more__notices">
288 <h2><@liferay.language key="mutualmedica.noticias.detalle.otros" /></h2>
289 <div class="row">
290 <#assign relatedCount = 0 >
291 <#list relatedNews as related>
292 <#if relatedCount < 3>
293 <#if related.getClassName() == "com.liferay.journal.model.JournalArticle">
294 <#assign assetRenderer = related.getAssetRenderer()/>
295 <#assign journalArticle = assetRenderer.getAssetObject() />
296
297 <#if journalArticleId != journalArticle.articleId>
298 <#assign assetRenderer = related.getAssetRenderer()/>
299 <#assign journalArticle = assetRenderer.getAssetObject() />
300 <#assign document = saxReaderUtil.read(journalArticle.getContent())>
301 <#assign rootElement = document.getRootElement()>
302 <#assign defaultLanguageId = parseXml ("@default-locale", rootElement)>
303 <#assign layoutURL = journalArticle.urlTitle />
304 <#assign newsTitle = getField("TitularNoticia", localeCurrent, defaultLanguageId, rootElement)!>
305 <#assign imgNoticia = getField("ImagenNoticia", localeCurrent, defaultLanguageId, rootElement)!>
306 <#assign templecNoticia = getField("TiempoLecturaNoticia", localeCurrent, defaultLanguageId, rootElement)!>
307
308 <#if newsTitle?has_content && newsTitle != "">
309
310 <#assign articleResourcePrimaryKeyOtras = journalArticleResourceLocalService.getArticleResourcePrimKey(groupId, journalArticle.getArticleId())>
311 <#assign assetEntryOtras = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", articleResourcePrimaryKeyOtras)>
312 <#assign assetCategoriesOtras = assetEntryOtras.getCategories()>
313
314 <#if localeCurrent?contains("ca_ES")>
315 <#if currentSite?contains("Fundación")>
316 <#assign urlDetalleOtraNoticia = portalURL + "/ca" + themeDisplay.getLayout().getFriendlyURL() + "/mutualmedica/" + journalArticle.getUrlTitle(localeCurrent)>
317 <#assign urlDetalleOtraNoticia = urlDetalleOtraNoticia?replace("/conocenos/actualidad/","/coneixnos/actualitat/")>
318 <#elseif currentSite?contains("Jubilación")>
319 <#assign urlDetalleOtraNoticia = portalURL + "/ca" + themeDisplay.getLayout().getFriendlyURL() + "/mutualmedica/" + journalArticle.getUrlTitle(localeCurrent)>
320 <#else>
321 <#assign urlDetalleOtraNoticia = portalURL + "/ca" + themeDisplay.getLayout().getFriendlyURL() + "/mutualmedica/" + journalArticle.getUrlTitle(localeCurrent)>
322 </#if>
323 <#else>
324 <#if currentSite?contains("Fundación")>
325 <#assign urlDetalleOtraNoticia = portalURL + themeDisplay.getLayout().getFriendlyURL() + "/mutualmedica/" + journalArticle.getUrlTitle(localeCurrent)>
326 <#elseif currentSite?contains("Jubilación")>
327 <#assign urlDetalleOtraNoticia = portalURL + themeDisplay.getLayout().getFriendlyURL() + "/mutualmedica/" + journalArticle.getUrlTitle(localeCurrent)>
328 <#else>
329 <#assign urlDetalleOtraNoticia = portalURL + themeDisplay.getLayout().getFriendlyURL() + "/mutualmedica/" + journalArticle.getUrlTitle(localeCurrent)>
330 </#if>
331 </#if>
332
333 <#list assetCategoriesOtras as categoriaOtra>
334 <#assign vocabularyId = categoriaOtra.getVocabularyId()>
335 <#assign categoryName = categoriaOtra.getName()>
336
337 <#if (vocabularyId == 46373 && ((categoryName?contains("Fundaci") && currentSite?contains("Fundación")) || (categoryName?contains("Jubilaci") && currentSite?contains("Jubilación")) || (categoryName?index_of("Mutual") == 0 && !currentSite?contains("Fundación") && !currentSite?contains("Jubilación"))))>
338 <div class="col-12 col-md-4 col-xl-4" onclick="location.href='${urlDetalleOtraNoticia}'">
339 <div class="mm__content__card" tabindex="0" title="${newsTitle}" aria-label="${newsTitle}">
340 <#if imgNoticia?has_content && imgNoticia != "">
341 <#assign imgContentData = jsonFactoryUtil.createJSONObject(imgNoticia)/>
342 <div class="mm__content__image-list">
343 <#assign smallestImageURL = adaptiveMediaUtil.getAdaptiveMediaUrl(imgContentData.fileEntryId, '320') />
344 <#if (smallestImageURL?? && smallestImageURL!= "")>
345 <img loading="lazy" alt="${imgContentData.alt}"
346 src="${smallestImageURL}" />
347 <#else>
348 <img loading="lazy" alt="${imgContentData.alt}" data-fileentryid="${imgContentData.fileEntryId}" src="${imgContentData.url}" />
349 </#if>
350
351 </div>
352 </#if>
353 <#if newsTitle?has_content && newsTitle != "">
354 <h3>${newsTitle}</h3>
355 <#assign relatedCount = relatedCount + 1>
356 <p>
357 ${journalArticle.displayDate?string["dd/MM/yy"]} · <#if templecNoticia??> ${templecNoticia} </#if>
358 </p>
359 </#if>
360 </div>
361 </div>
362 </#if>
363 </#list>
364
365
366
367 </#if>
368 </#if>
369 </#if>
370 </#if>
371 </#list>
372 </div>
373 </div>
374 </#if>
375
376 </div>
377</div>
378
379<#function getField field languageId defaultLanguageId xml>
380 <#local defaultSelector = "//dynamic-content[@language-id='" + defaultLanguageId + "' and ancestor-or-self::*[@field-reference='" + field + "']]">
381 <#local localeSelector = "//dynamic-content[@language-id='" + languageId + "' and parent::*[@field-reference='" + field + "']]">
382 <#local selector = saxReaderUtil.createXPath(localeSelector)>
383 <#local value = selector.selectSingleNode(xml)!>
384 <#if value?has_content><#return value.getText()></#if>
385 <#local selector = saxReaderUtil.createXPath(defaultSelector)>
386 <#local value = selector.selectSingleNode(xml)!>
387 <#if value?has_content><#return value.getText()></#if>
388 <#return "">
389</#function>
390
391<#function parseXml xpath xml>
392 <#local selector = saxReaderUtil.createXPath(xpath)>
393 <#local result = selector.selectSingleNode(xml)!>
394 <#if result?has_content><#return result.getStringValue()></#if>
395 <#return "">
396</#function>
397
398<#macro printMultimedia multimedia active>
399 <div class="carousel-item ${active?string('active','')}">
400 <#if multimedia.ImagenNoticia.getData()?? && multimedia.ImagenNoticia.getData() != "">
401 <img loading="lazy" alt="${multimedia.ImagenNoticia.getAttribute("alt")}"
402 src="${multimedia.ImagenNoticia.getData()}" />
403 <meta property='og:image' content='${multimedia.ImagenNoticia.getData()}'/>
404 <#elseif multimedia.VideoNoticia.getData()?? && multimedia.VideoNoticia.getData() != "">
405 <video src="${multimedia.VideoNoticia.getData()}"
406 controls="controls autoplay" />
407 <#else>
408 <img loading="lazy" class="mm-logo"
409 alt="Imagen por defecto"
410 src="${themeDisplay.companyLogo}" />
411 </#if>
412 </div>
413</#macro>
414
415<script type="text/javascript">
416 window.onload = function () {
417 var textoNoticia = document.getElementById('textoNoticia');
418 if (textoNoticia != null) {
419 if (textoNoticia.querySelector('.embed-responsive')) {
420 var divVideoEmbebido = document.getElementsByClassName('embed-responsive')[0];
421 const node = document.createElement('div');
422 node.classList.add('carousel-item');
423
424 divVideoEmbebido.style.width = '500px';
425
426 node.appendChild(divVideoEmbebido);
427 document.getElementsByClassName('carousel-inner')[0].appendChild(node);
428
429 }
430 }
431 };
432
433</script>
434
435<script type="application/ld+json">
436 {
437 "@context" : "https://schema.org",
438 "@type" : "Article",
439 "headline" : "<#if (TitularNoticia.getData())??>${TitularNoticia.getData()}</#if>",
440 "author" : {
441 "@type" : "Organization",
442 "name" : "${themeDisplay.getLayout().getGroup().getDescriptiveName()}",
443 "url" : "${themeDisplay.getPortalURL()}/conocenos"
444 },
445 "datePublished" : "${publishDateIso8601}",
446 "image" : {
447 "@type" : "ImageObject",
448 "url" : "<#if (GrupoImagenVideo.ImagenNoticia.getData())?? && GrupoImagenVideo.ImagenNoticia.getData() != "">${GrupoImagenVideo.ImagenNoticia.getData()}</#if>"
449 }
450 }
451</script>