Grupo deInvestigación Nutrición y Obesidad
Albisteak
Errorea gertatu da txantiloia prozesatzerakoan.
The following has evaluated to null or missing:
==> description [in template "10112#522485#1324421" at line 274, column 15]
----
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 description != "" [in template "10112#522485#1324421" at line 274, column 9]
----
1<#-- GENERAL-->
2<#assign cTxtArticle = languageUtil.get( locale, "article" ) >
3<#assign cTxtAutoria = languageUtil.get( locale, "ehu.authors" ) >
4<#assign cTxtDoi = languageUtil.get( locale, "ehu.doi" ) >
5<#assign cTxtDoiTitle = languageUtil.get( locale, "ehu.digital-object-identifier" ) >
6<#assign cTxtNewWindow = languageUtil.get( locale, "opens-new-window" ) >
7<#assign cTxtPhoto = languageUtil.get( locale, "ehu.photo" ) >
8<#assign cTxtPublishing = languageUtil.get( locale, "publishing" ) >
9
10<#assign cUrlDoiOrg = "https://doi.org/" >
11<#assign scopeId = themeDisplay.scopeGroupId>
12<#assign isCampusa = (themeDisplay.getTheme().getContextPath() == "/o/upv-ehu-campusa-theme") >
13<#assign isGlobal = (themeDisplay.getTheme().getContextPath() == "/o/upv-ehu-global-theme") >
14<#assign journalLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
15<#if .vars['reserved-article-id']?has_content>
16 <#assign articleId = .vars['reserved-article-id'] >
17<#else>
18 <#assign articleId = "">
19</#if>
20
21<#if !isGlobal >
22 <#assign articleClass = "new" >
23 <#assign preTitleClass = "pretitle" >
24 <#assign titleClass = "new-title" >
25 <#assign subTitleClass = "subtitle" >
26 <#assign entryClass = "entry" >
27 <#assign descriptionClass = "description" >
28 <#assign bibliographyClass = "bibliographic-reference" >
29 <#assign headerTag = "div" >
30 <#assign headerBloqueTag = "p" >
31 <#assign htmlHeaderTagClass = ' class="content-header"' >
32<#else>
33 <#assign articleClass = "new-detail" >
34 <#assign preTitleClass = "new-detail__pretitle" >
35 <#assign titleClass = "new-detail__title" >
36 <#assign subTitleClass = "new-detail__subtitle" >
37 <#assign entryClass = "new-detail__body__entry" >
38 <#assign descriptionClass = "new-detail__body__description" >
39 <#assign bibliographyClass = "new-detail__bibliographic-reference" >
40 <#assign headerTag = "header" >
41 <#assign headerBloqueTag = "div" >
42 <#assign htmlHeaderTagClass = "" >
43</#if>
44
45<#assign entGeneralData = ehugeneraldataFieldSet >
46
47<#-- HTML-->
48<article class="${ articleClass }">
49 <#-- PRETITLE, TITLE, SUBTITLE -->
50 <#assign preTitle = "">
51 <#if entGeneralData.ehupretitle?? && entGeneralData.ehupretitle.getData()?? && entGeneralData.ehupretitle.getData()?has_content>
52 <#assign preTitle = entGeneralData.ehupretitle.getData()>
53 </#if>
54
55 <#assign title = "">
56 <#if entGeneralData.ehunewtitle?? && entGeneralData.ehunewtitle.getData()?? && entGeneralData.ehunewtitle.getData()?has_content>
57 <#assign title = entGeneralData.ehunewtitle.getData()>
58 </#if>
59
60 <#assign subTitle = "">
61 <#if entGeneralData.ehunewsubtitle?? && entGeneralData.ehunewsubtitle.getData()?? && entGeneralData.ehunewsubtitle.getData()?has_content>
62 <#assign subTitle = entGeneralData.ehunewsubtitle.getData()>
63 </#if>
64 <${ headerTag }${ htmlHeaderTagClass }>
65 <#if preTitle != "" >
66 <${ headerBloqueTag } class="${ preTitleClass }">${ preTitle }</${ headerBloqueTag }>
67 </#if>
68 <#if title != "" >
69 <h1 class="${ titleClass }">${ title }</h1>
70 </#if>
71 <#if subTitle != "" >
72 <${ headerBloqueTag } class="${ subTitleClass }">${ subTitle }</${ headerBloqueTag }>
73 </#if>
74 </${ headerTag }>
75
76 <#if !isGlobal >
77 <div class="content-content">
78 </#if>
79 <#if isGlobal >
80 <div class="new-detail__info-date-share">
81 </#if>
82
83 <#-- CAMPUSA VOCABULARY -->
84 <#assign vocabularyName = "campusa" >
85 <#assign tag_init = "<ul></ul>" >
86 <#assign categories = tag_init >
87 <@upvlibs.formatVocabularyCategoriesProperties vocabularyName=vocabularyName />
88 <#assign categories = upvlibs.categoriesListStr >
89
90 <#if categories != tag_init >
91 <div class="campusa-category">${ categories }</div>
92 </#if>
93
94 <#assign articlePublicationDate = .vars['reserved-article-display-date'].data!"" >
95 <#if isGlobal >
96
97 <#if articlePublicationDate?? && articlePublicationDate != "" >
98 <#assign publicationDateStr = upvlibs.getPublicationDate(articlePublicationDate) >
99
100 <div class="new-detail__info-date-share__date">
101 <p class="publication_date">
102 <strong class="text"> <@liferay.language key="ehu.first-publication-date" />:</strong>
103
104 <span class="date">${ publicationDateStr }</span>
105
106 </p>
107 </div>
108 </#if>
109 <#else>
110
111 <#if articlePublicationDate?? && articlePublicationDate != "" >
112 <#assign publicationDateStr = upvlibs.getPublicationDate(articlePublicationDate) >
113
114 <p class="publication_date">
115 <strong class="text"> <@liferay.language key="ehu.first-publication-date" />:</strong>
116 <span class="date">${ publicationDateStr }</span>
117 </p>
118
119 </#if>
120 </#if>
121
122
123
124 <#-- REDES SOCIALES -->
125 <!-- Si está marcado el check de redes sociales las pintamos -->
126 <#if entGeneralData.ehusocialbookmarks?? && entGeneralData.ehusocialbookmarks.getData()?has_content && entGeneralData.ehusocialbookmarks.getData()=="true" >
127 <#assign classRS = "share-social-bar__item" >
128 <#assign urlEnCurso = themeDisplay.getURLPortal() + themeDisplay.getURLCurrent() >
129 <#-- SHARE SOCIAL BAR -->
130 <div class="share-social-bar">
131 <a href="https://www.facebook.com/share.php?u=${urlEnCurso?replace(' ','%20')}&t=www.ehu.eus" target="_blank" title='<@liferay.language key="ehu.social-bookmark.facebook" />' class="${ classRS } svg-icon">
132 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z"/></svg>
133 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.facebook" /> - ${ cTxtNewWindow }</span>
134 </a>
135 <a href="https://bsky.app/intent/compose?text=${urlEnCurso?replace(' ','%20')}%20-%20www.ehu.eus%20" target="_blank" title='<@liferay.language key="ehu.social-bookmark.bluesky" />' class="${ classRS } svg-icon">
136 <svg height="16" viewBox="0 0 512 512" width="16" xmlns="http://www.w3.org/2000/svg"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.2 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 133.5c-107.4 110.2-154.3-27.6-166.3-62.9l0 0c-1.7-4.9-2.6-7.8-3.3-7.8s-1.6 3-3.3 7.8l0 0c-12 35.3-59 173.1-166.3 62.9c-56.5-58-30.4-116 72.5-133.5C100 314.6 33.8 298 15.7 233.1C10.4 214.4 1.5 99.4 1.5 83.9c0-77.8 68.2-53.4 110.3-21.8z"></path></svg>
137 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.bluesky" /> - ${ cTxtNewWindow }</span>
138 </a>
139 <a href="https://www.linkedin.com/shareArticle?mini=true&url=${urlEnCurso?replace(' ','%20')}&title=${title?replace(' ','%20')}&summary=" target="_blank" title='<@liferay.language key="ehu.social-bookmark.linkedin" />' class="${ classRS } svg-icon">
140 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z"/></svg>
141 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.linkedin" /> - ${ cTxtNewWindow }</span>
142 </a>
143 <a href="whatsapp://send?text=${ urlEnCurso }" data-action="share/whatsapp/share" target="_blank" class="${ classRS } svg-icon" title='<@liferay.language key="ehu.social-bookmark.whatsapp" />'>
144 <svg class="svg-whatsapp" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></svg>
145 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.whatsapp" /> - ${ cTxtNewWindow }</span>
146 </a>
147 <a href="https://t.me/share/url?url=${ urlEnCurso }&text=${ title }" target="_blank" class="${ classRS } svg-icon" title='<@liferay.language key="ehu.social-bookmark.telegram" />'>
148 <svg class="svg-telegram" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg>
149 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.telegram" /> - ${ cTxtNewWindow }</span>
150 </a>
151 <a href="mailto:?subject=${title?replace(' ','%20')}&body=%20-%20${urlEnCurso?replace(' ','%20')}" target="_blank" title='<@liferay.language key="ehu.send-email" />' class="${ classRS } svg-icon">
152 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><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-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>
153 <span class="sr-only"><@liferay.language key="ehu.send-email" /> - ${ cTxtNewWindow }</span>
154 </a>
155 <a href="javascript:void(0)" onclick="copyCurrentUrl()" title='<@liferay.language key="copy-link" />' class="${ classRS } svg-icon">
156 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>
157 <span class="sr-only"><@liferay.language key="copy-link" /> - ${ cTxtNewWindow }</span>
158 </a>
159 </div>
160 </#if>
161
162 <#if isGlobal >
163 </div> <#-- class="new-detail__info-date-share" -->
164 <div class="new-detail__body">
165 </#if>
166
167 <#-- IMAGE -->
168 <#assign entImage = entGeneralData.ehunewimageFieldSet >
169 <#assign imageSrc = "" >
170 <#if entImage.ehunewimage?? && entImage.ehunewimage.getData()?? && entImage.ehunewimage.getData()?has_content>
171 <#assign imageSrc = entImage.ehunewimage.getData()>
172 </#if>
173 <#if imageSrc != "" >
174
175 <#assign imageAltText = "">
176 <#if entImage.ehunewimagealt?? && entImage.ehunewimagealt.getData()?? && entImage.ehunewimagealt.getData()?has_content>
177 <#assign imageAltText = entImage.ehunewimagealt.getData()>
178 </#if>
179
180 <#assign imageFootText = "">
181 <#if entImage.ehunewimagefoot?? && entImage.ehunewimagefoot.getData()?? && entImage.ehunewimagefoot.getData()?has_content >
182 <#assign imageFootText = entImage.ehunewimagefoot.getData() >
183 </#if>
184
185 <#assign imageAuthorText = "">
186 <#if entImage.ehunewimageauthor?? && entImage.ehunewimageauthor.getData()?? && entImage.ehunewimageauthor.getData()?has_content>
187 <#assign imageAuthorText = entImage.ehunewimageauthor.getData() >
188 </#if>
189
190 <#assign imageAlign = "">
191 <#if entImage.ehuimagedisposition?? && entImage.ehuimagedisposition.getData()?? && entImage.ehuimagedisposition.getData()?has_content>
192 <#assign imageAlign = entImage.ehuimagedisposition.getData()>
193 </#if>
194
195 <#assign imageUrl = "" >
196 <#if entImage.ehunewimageurl?? && entImage.ehunewimageurl.getData()?? && entImage.ehunewimageurl.getData()?has_content >
197 <#assign imageUrl = entImage.ehunewimageurl.getData()>
198 </#if>
199
200
201 <#assign imageUrlTitle = "" >
202 <#assign imageUrlNewTab = true >
203 <#assign imageClass = "img-main" >
204
205 <#-- Pasamos la imagen de la noticia directamente al og:image para que no haya problemas al compartirla
206 en redes sociales (Trello 273 - Trello 637) -->
207 <@liferay_util["html-top"]>
208 <meta property="og:image" content="${ portalUtil.getAbsoluteURL( request, imageSrc ) }">
209 </@>
210 <#if !isGlobal && entImage.ehunewimageurl??>
211 <@upvlibs.imageAuthorSection image=imageSrc altText=imageAltText footText=imageFootText imageAuthor=imageAuthorText
212 imageDisposition=imageAlign elemImageUrl=entImage.ehunewimageurl imageUrlTitle=imageUrlTitle imageUrlNewTab=imageUrlNewTab imgClass=imageClass />
213 <#else>
214
215 <#if imageUrl != "">
216 <a href="${ imageUrl }" target="_blank">
217 </#if>
218 <div class="new-detail__body__main-image ${ imageAlign }">
219 <img src="${ upvlibs.getImageURL(imageSrc) }" alt="${ imageAltText }" class="${ imageClass }"/>
220
221 <#if imageFootText != "" || imageAuthorText != "" >
222 <div class="main-image__footer">
223 <#if imageFootText == "" >
224 <#assign txtPhoto = "" >
225 <#else>
226 <#assign txtPhoto = imageFootText >
227 </#if>
228 <#if imageAuthorText != "" >
229 <#if imageFootText == "" >
230 <#assign aux = "" >
231 <#else>
232 <#assign aux = " | " >
233 </#if>
234 <#assign txtPhoto = txtPhoto + aux + cTxtPhoto + ": " + imageAuthorText >
235 </#if>
236 <#if imageAlign == "" >
237 <#assign classImageFootText = "center" >
238 <#else>
239 <#assign classImageFootText = imageAlign >
240 </#if>
241 <p class="${ classImageFootText }">${ txtPhoto }</p>
242 </div>
243 </#if>
244 </div>
245 <#if imageUrl != "">
246 </a>
247 </#if>
248 </#if>
249 <#else>
250 <#-- Si la imagen no tiene imagen metemos como imagen para redes sociales el logo de la universidad
251 proporcionado por la oficina de comunicación (Trello 565 - Trello 637) -->
252 <@liferay_util["html-top"]>
253 <meta property="og:image" content="https://www.ehu.eus/documents/522485/1339603/avatar.jpg">
254 </@>
255 </#if>
256
257 <#-- ENTRADILLA -->
258 <#-- Desde la Oficina de Comunicacion piden para Campusa que la entradilla vaya despues de la imagen
259 Se hace el cambio para todos -->
260 <#assign entradilla = "">
261 <#if entGeneralData.ehunewentradilla?? && entGeneralData.ehunewentradilla.getData()?? && entGeneralData.ehunewentradilla.getData()?has_content>
262 <#assign entradilla = entGeneralData.ehunewentradilla.getData() >
263 </#if>
264 <#if entradilla != "" >
265 <div class="${ entryClass }">
266 <p>${entradilla}</p>
267 </div>
268 </#if>
269
270 <#-- DESCRIPTION -->
271 <#if entGeneralData.ehunewtext?? && entGeneralData.ehunewtext.getData()?? && entGeneralData.ehunewtext.getData()?has_content >
272 <#assign description = entGeneralData.ehunewtext.getData()>
273 </#if>
274 <#if description != "" >
275 <div class="${ descriptionClass }">
276 ${ description }
277 </div>
278 </#if>
279
280 <#if isGlobal >
281 <#-- IMAGE GALLERY -->
282 <div class="new-detail__body__image-gallery">
283 <#if ehuimagegalleryFieldSet?? >
284 <#if ehuimagegalleryFieldSet.ehuslideFieldSet??>
285 <@upvlibs.imageGallerySection ehuimagegalleryFieldSet.ehuslideFieldSet articleId 4 />
286 </#if>
287 </#if>
288 </div>
289 </#if>
290 <#if isGlobal >
291 </div> <#-- class="new-detail__body" -->
292 </#if>
293
294 <#assign entMoreInfo = ehumoreinfoFieldSet >
295 <#if entMoreInfo?? >
296 <#-- DOCUMENTS -->
297 <#if entMoreInfo.ehunewdocumentFieldSet?? >
298 <@upvlibs.writeHtmlForDocumentsNew documents=entMoreInfo.ehunewdocumentFieldSet nivel=2 encabezado="document" campo="ehunewdocument" titulo="ehunewdocumenttitle" tipo=2 adicional=0 />
299 </#if>
300
301 <#-- LINKS -->
302 <#if entMoreInfo.ehunewurlFieldSet??>
303 <#assign encabezado="ehu.web-address">
304 <#if !isGlobal >
305 <#assign encabezado="link">
306 </#if>
307 <@upvlibs.writeHtmlForLinksNew links=entMoreInfo.ehunewurlFieldSet nivel=2 encabezado=encabezado campo="ehunewurl" titulo="ehunewurltitle" newTab="" tipo=2 adicional=0 />
308 </#if>
309 </#if>
310
311 <#-- REFERENCE INFO -->
312 <#-- Bibliografía -->
313 <#assign entBibliography = ehunewbibliographicreferenceFieldSet >
314 <#assign hayBiblioArticles = getterUtil.getBoolean("false")>
315 <#if entBibliography?? && entBibliography.getSiblings()??>
316 <@upvlibs.validarLista lista=entBibliography campo="ehubibliographicreferencearticle" />
317 <#assign hayBiblioArticles = upvlibs.valida />
318
319 </#if>
320 <#if hayBiblioArticles >
321 <div class="${ bibliographyClass }">
322 <#if !isGlobal >
323 <#assign htmlIconBibliography = '<i class="icon-book"></i>' >
324 <#else>
325 <#assign htmlIconBibliography = "" >
326 </#if>
327
328 <h2>${ htmlIconBibliography }<@liferay.language key="ehu.bibliographic-reference" /></h2>
329 <#if !isGlobal >
330 <ul>
331 <#else>
332 <ul class="list-unstyled new-detail__bibliographic-reference__item">
333 </#if>
334 <#if !isGlobal >
335 <#assign htmlTxtArticle = "" >
336 <#assign htmlTxtPublication = "" >
337 <#assign htmlTxtAutoria = "" >
338 <#assign htmlTagBiblio = "span" >
339 <#else>
340 <#assign htmlTxtArticle = "<strong>" + cTxtArticle + ":" + "</strong>" >
341 <#assign htmlTxtPublication = "<strong>" + cTxtPublishing + ":" + "</strong>" >
342 <#assign htmlTxtAutoria = "<strong>" + cTxtAutoria + ":" + "</strong>" >
343 <#assign htmlTagBiblio = "p" >
344 </#if>
345 <#if !isGlobal >
346 <#assign htmlTxtDoi = '<abbr title="' + cTxtDoiTitle + '">' + cTxtDoi + '</abbr>: ' >
347 <#else>
348 <#assign htmlTxtDoi = '<abbr title="' + cTxtDoiTitle + '">' + "<strong>" + cTxtDoi + "</strong>" + '</abbr>: ' >
349 </#if>
350 <#list entBibliography.getSiblings() as elemEntBibliography >
351 <#if elemEntBibliography.ehubibliographicreferencearticle?is_hash >
352 <#assign aux = elemEntBibliography.ehubibliographicreferencearticle.getData() >
353 <#else>
354 <#assign aux = getterUtil.getString( elemEntBibliography.ehubibliographicreferencearticle ) >
355 </#if>
356 <#if aux?has_content && aux != "">
357 <#assign biblioArticle = aux>
358 <#else>
359 <#assign biblioArticle = "">
360 </#if>
361 <#if elemEntBibliography.ehubibliographicreferencepublication?is_hash >
362 <#assign aux = elemEntBibliography.ehubibliographicreferencepublication.getData() >
363 <#else>
364 <#assign aux = getterUtil.getString( elemEntBibliography.ehubibliographicreferencepublication ) >
365 </#if>
366 <#if aux?has_content && aux != "">
367 <#assign biblioPublication = aux>
368 <#else>
369 <#assign biblioPublication = "">
370 </#if>
371 <#if biblioArticle == "" || biblioPublication == "" > <#continue> </#if>
372
373 <#if elemEntBibliography.ehubibliographicreferenceauthors?is_hash >
374 <#assign aux = elemEntBibliography.ehubibliographicreferenceauthors.getData() >
375 <#else>
376 <#assign aux = getterUtil.getString( elemEntBibliography.ehubibliographicreferenceauthors ) >
377 </#if>
378 <#if aux?has_content && aux != "">
379 <#assign biblioAuthors = aux>
380 <#else>
381 <#assign biblioAuthors = "">
382 </#if>
383 <#if elemEntBibliography.ehubibliographicreferencedoi?is_hash >
384 <#assign aux = elemEntBibliography.ehubibliographicreferencedoi.getData() >
385 <#else>
386 <#assign aux = getterUtil.getString( elemEntBibliography.ehubibliographicreferencedoi ) >
387 </#if>
388 <#if aux?has_content && aux != "">
389 <#assign biblioDoi = aux>
390 <#else>
391 <#assign biblioDoi = "">
392 </#if>
393 <#if biblioAuthors != "" >
394 <li>
395 <${ htmlTagBiblio } class="authors">${ htmlTxtAutoria } ${ biblioAuthors }</${ htmlTagBiblio }>
396 </li>
397 </#if>
398 <#if biblioArticle != "" >
399 <#if biblioDoi == "" >
400 <#assign htmlBiblioArticle = biblioArticle >
401 <#else>
402 <#assign htmlBiblioArticle = '<a target="_blank" href="' + cUrlDoiOrg + biblioDoi + '">' + biblioArticle + '</a>' >
403 </#if>
404 <li>
405 <${ htmlTagBiblio } class="article">${ htmlTxtArticle } ${ htmlBiblioArticle }</${ htmlTagBiblio }>
406 </li>
407 </#if>
408 <#if biblioPublication != "" >
409 <li>
410 <${ htmlTagBiblio } class="publication">${ htmlTxtPublication } ${ biblioPublication }</${ htmlTagBiblio }>
411 </li>
412 </#if>
413 <#if biblioDoi != "" >
414 <li>
415 <${ htmlTagBiblio } class="doi">${ htmlTxtDoi } ${ biblioDoi }</${ htmlTagBiblio }>
416 </li>
417 </#if>
418
419 </#list>
420
421 </ul>
422
423 </div> <#-- class="${ bibliographyClass }" -->
424 </#if>
425
426 <#if !isGlobal >
427 <#-- IMAGE GALLERY -->
428 <#if ehuimagegalleryFieldSet?? >
429 <#if ehuimagegalleryFieldSet.ehuslideFieldSet??>
430 <@upvlibs.imageGallerySection ehuimagegalleryFieldSet.ehuslideFieldSet articleId 4 />
431 </#if>
432 </#if>
433 </div> <#-- class="content-content" -->
434
435 <#-- LAST MODIFICATION DATE -->
436 <#assign showLastModifDate = getterUtil.getBoolean( "false")>
437 <#if entGeneralData.ehulastmodificationdate?? && entGeneralData.ehulastmodificationdate.getData()?? && entGeneralData.ehulastmodificationdate.getData()?has_content>
438 <#assign showLastModifDate = getterUtil.getBoolean(entGeneralData.ehulastmodificationdate.getData()) >
439 </#if>
440 <#if showLastModifDate >
441 <div class="content-footer">
442 <#assign articleModifiedDate = .vars['reserved-article-modified-date'].data!"" >
443
444 <#assign modifiedDateStr = upvlibs.getModifiedDate(articleModifiedDate) >
445
446 <#if modifiedDateStr != "" >
447 <p class="modification_date">
448 <strong class="text"> <@liferay.language key="ehu.last-modification-date" />:</strong>
449 <span class="date">${ modifiedDateStr }</span>
450 </p>
451 </#if>
452 </div>
453 </#if>
454 </#if>
455
456</article>
457
458
459<#-- Script para copiar al portapapeles la URL actual -->
460
461<script>
462function copyCurrentUrl() {
463 const successMessage = '<@liferay.language key="copied-link-to-the-clipboard" />';
464 const errorMessage = '<@liferay.language key="element-cannot-be-copied" />';
465
466 if (navigator.clipboard && window.isSecureContext) {
467 navigator.clipboard.writeText(window.location.href)
468 .then(() => alert(successMessage))
469 .catch(() => alert(errorMessage));
470 } else {
471 const textArea = document.createElement("textarea");
472 textArea.value = window.location.href;
473 document.body.appendChild(textArea);
474 textArea.focus();
475 textArea.select();
476 try {
477 const successful = document.execCommand('copy');
478 alert(successful ? successMessage : errorMessage);
479 } catch (err) {
480 alert(errorMessage);
481 }
482 document.body.removeChild(textArea);
483 }
484}
485</script>