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()?html>
53 </#if>
54
55 <#assign title = "">
56 <#if entGeneralData.ehunewtitle?? && entGeneralData.ehunewtitle.getData()?? && entGeneralData.ehunewtitle.getData()?has_content>
57 <#assign title = entGeneralData.ehunewtitle.getData()?html>
58 </#if>
59
60 <#assign subTitle = "">
61 <#if entGeneralData.ehunewsubtitle?? && entGeneralData.ehunewsubtitle.getData()?? && entGeneralData.ehunewsubtitle.getData()?has_content>
62 <#assign subTitle = entGeneralData.ehunewsubtitle.getData()?html>
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 <#-- FIRST PUBLICATION DATE -->
95 <#if locale == "eu_ES">
96 <#assign dateFormat = "yyyy/MM/dd">
97 <#else>
98 <#assign dateFormat = "dd/MM/yyyy">
99 </#if>
100 <#if isGlobal >
101 <#assign articlePublicationDate = .vars['reserved-article-display-date'].data!"" >
102 <#if articlePublicationDate != "" >
103
104 <#setting date_format=dateFormat >
105 <#assign currentLocale = locale>
106 <#setting locale = localeUtil.getDefault() >
107 <#if articlePublicationDate?? && articlePublicationDate != "" >
108 <#assign publicationDate = ( articlePublicationDate?datetime( "EEE, dd MMM yyyy hh:mm:ss" ) )?date >
109 <#assign publicationDateStr = publicationDate?string >
110 <div class="new-detail__info-date-share__date">
111 <p class="publication_date">
112 <strong class="text"> <@liferay.language key="ehu.first-publication-date" />:</strong>
113
114 <span class="date">${ publicationDateStr }</span>
115
116 </p>
117 </div>
118 </#if>
119 <#setting locale = currentLocale>
120 </#if>
121 <#else>
122 <#assign articlePublicationDate = .vars['reserved-article-display-date'].data!"" >
123 <#if articlePublicationDate != "" >
124 <#setting date_format=dateFormat >
125 <#assign currentLocale = locale>
126 <#setting locale = localeUtil.getDefault() >
127 <#if articlePublicationDate?? && articlePublicationDate != "" >
128 <#assign publicationDate = ( articlePublicationDate?datetime( "EEE, dd MMM yyyy hh:mm:ss" ) )?date >
129 <#assign publicationDateStr = publicationDate?string >
130 <p class="publication_date">
131 <strong class="text"> <@liferay.language key="ehu.first-publication-date" />:</strong>
132 <span class="date">${ publicationDateStr }</span>
133 </p>
134 </#if>
135 <#setting locale = currentLocale>
136 </#if>
137 </#if>
138
139
140
141 <#-- REDES SOCIALES -->
142 <!-- Si está marcado el check de redes sociales las pintamos -->
143 <#if entGeneralData.ehusocialbookmarks?? && entGeneralData.ehusocialbookmarks.getData()?has_content && entGeneralData.ehusocialbookmarks.getData()=="true" >
144 <#assign classRS = "share-social-bar__item" >
145 <#assign urlEnCurso = themeDisplay.getURLPortal() + themeDisplay.getURLCurrent() >
146 <#-- SHARE SOCIAL BAR -->
147 <div class="share-social-bar">
148 <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">
149 <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>
150 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.facebook" /> - ${ cTxtNewWindow }</span>
151 </a>
152 <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">
153 <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>
154 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.bluesky" /> - ${ cTxtNewWindow }</span>
155 </a>
156 <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">
157 <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>
158 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.linkedin" /> - ${ cTxtNewWindow }</span>
159 </a>
160 <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" />'>
161 <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>
162 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.whatsapp" /> - ${ cTxtNewWindow }</span>
163 </a>
164 <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" />'>
165 <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>
166 <span class="sr-only"><@liferay.language key="ehu.social-bookmark.telegram" /> - ${ cTxtNewWindow }</span>
167 </a>
168 <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">
169 <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>
170 <span class="sr-only"><@liferay.language key="ehu.send-email" /> - ${ cTxtNewWindow }</span>
171 </a>
172 <a href="javascript:void(0)" onclick="copyCurrentUrl()" title='<@liferay.language key="copy-link" />' class="${ classRS } svg-icon">
173 <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>
174 <span class="sr-only"><@liferay.language key="copy-link" /> - ${ cTxtNewWindow }</span>
175 </a>
176 </div>
177 </#if>
178
179 <#if isGlobal >
180 </div> <#-- class="new-detail__info-date-share" -->
181 <div class="new-detail__body">
182 </#if>
183
184 <#-- IMAGE -->
185 <#assign entImage = entGeneralData.ehunewimageFieldSet >
186 <#assign imageSrc = "" >
187 <#if entImage.ehunewimage?? && entImage.ehunewimage.getData()?? && entImage.ehunewimage.getData()?has_content>
188 <#assign imageSrc = entImage.ehunewimage.getData()?html>
189 </#if>
190 <#if imageSrc != "" >
191
192 <#assign imageAltText = "">
193 <#if entImage.ehunewimagealt?? && entImage.ehunewimagealt.getData()?? && entImage.ehunewimagealt.getData()?has_content>
194 <#assign imageAltText = entImage.ehunewimagealt.getData()?html>
195 </#if>
196
197 <#assign imageFootText = "">
198 <#if entImage.ehunewimagefoot?? && entImage.ehunewimagefoot.getData()?? && entImage.ehunewimagefoot.getData()?has_content >
199 <#assign imageFootText = entImage.ehunewimagefoot.getData()?html >
200 </#if>
201
202 <#assign imageAuthorText = "">
203 <#if entImage.ehunewimageauthor?? && entImage.ehunewimageauthor.getData()?? && entImage.ehunewimageauthor.getData()?has_content>
204 <#assign imageAuthorText = entImage.ehunewimageauthor.getData()?html >
205 </#if>
206
207 <#assign imageAlign = "">
208 <#if entImage.ehuimagedisposition?? && entImage.ehuimagedisposition.getData()?? && entImage.ehuimagedisposition.getData()?has_content>
209 <#assign imageAlign = entImage.ehuimagedisposition.getData()?html>
210 </#if>
211
212 <#assign imageUrl = "" >
213 <#if entImage.ehunewimageurl?? && entImage.ehunewimageurl.getData()?? && entImage.ehunewimageurl.getData()?has_content >
214 <#assign imageUrl = entImage.ehunewimageurl.getData()?html>
215 </#if>
216
217
218 <#assign imageUrlTitle = "" >
219 <#assign imageUrlNewTab = true >
220 <#assign imageClass = "img-main" >
221
222 <#-- Pasamos la imagen de la noticia directamente al og:image para que no haya problemas al compartirla
223 en redes sociales (Trello 273 - Trello 637) -->
224 <@liferay_util["html-top"]>
225 <meta property="og:image" content="${ portalUtil.getAbsoluteURL( request, imageSrc ) }">
226 </@>
227 <#if !isGlobal && entImage.ehunewimageurl??>
228 <@upvlibs.imageAuthorSection image=imageSrc altText=imageAltText footText=imageFootText imageAuthor=imageAuthorText
229 imageDisposition=imageAlign elemImageUrl=entImage.ehunewimageurl imageUrlTitle=imageUrlTitle imageUrlNewTab=imageUrlNewTab imgClass=imageClass />
230 <#else>
231
232 <#if imageUrl != "">
233 <a href="${ imageUrl }" target="_blank">
234 </#if>
235 <div class="new-detail__body__main-image ${ imageAlign }">
236 <img src="${ imageSrc }" alt="${ imageAltText }" class="${ imageClass }"/>
237
238 <#if imageFootText != "" || imageAuthorText != "" >
239 <div class="main-image__footer">
240 <#if imageFootText == "" >
241 <#assign txtPhoto = "" >
242 <#else>
243 <#assign txtPhoto = imageFootText >
244 </#if>
245 <#if imageAuthorText != "" >
246 <#if imageFootText == "" >
247 <#assign aux = "" >
248 <#else>
249 <#assign aux = " | " >
250 </#if>
251 <#assign txtPhoto = txtPhoto + aux + cTxtPhoto + ": " + imageAuthorText >
252 </#if>
253 <#if imageAlign == "" >
254 <#assign classImageFootText = "center" >
255 <#else>
256 <#assign classImageFootText = imageAlign >
257 </#if>
258 <p class="${ classImageFootText }">${ txtPhoto }</p>
259 </div>
260 </#if>
261 </div>
262 <#if imageUrl != "">
263 </a>
264 </#if>
265 </#if>
266 <#else>
267 <#-- Si la imagen no tiene imagen metemos como imagen para redes sociales el logo de la universidad
268 proporcionado por la oficina de comunicación (Trello 565 - Trello 637) -->
269 <@liferay_util["html-top"]>
270 <meta property="og:image" content="https://www.ehu.eus/documents/522485/1339603/avatar.jpg">
271 </@>
272 </#if>
273
274 <#-- ENTRADILLA -->
275 <#-- Desde la Oficina de Comunicacion piden para Campusa que la entradilla vaya despues de la imagen
276 Se hace el cambio para todos -->
277 <#assign entradilla = "">
278 <#if entGeneralData.ehunewentradilla?? && entGeneralData.ehunewentradilla.getData()?? && entGeneralData.ehunewentradilla.getData()?has_content>
279 <#assign entradilla = entGeneralData.ehunewentradilla.getData()?html >
280 </#if>
281 <#if entradilla != "" >
282 <div class="${ entryClass }">
283 <p>${entradilla}</p>
284 </div>
285 </#if>
286
287 <#-- DESCRIPTION -->
288 <#if entGeneralData.ehunewtext?? && entGeneralData.ehunewtext.getData()?? && entGeneralData.ehunewtext.getData()?has_content >
289 <#assign description = entGeneralData.ehunewtext.getData()>
290 </#if>
291 <#if description != "" >
292 <div class="${ descriptionClass }">
293 ${ description }
294 </div>
295 </#if>
296
297 <#if isGlobal >
298 <#-- IMAGE GALLERY -->
299 <div class="new-detail__body__image-gallery">
300 <#if ehuimagegalleryFieldSet?? >
301 <#if ehuimagegalleryFieldSet.ehuslideFieldSet??>
302 <@upvlibs.imageGallerySection ehuimagegalleryFieldSet.ehuslideFieldSet articleId 4 />
303 </#if>
304 </#if>
305 </div>
306 </#if>
307 <#if isGlobal >
308 </div> <#-- class="new-detail__body" -->
309 </#if>
310
311 <#assign entMoreInfo = ehumoreinfoFieldSet >
312 <#if entMoreInfo?? >
313 <#-- DOCUMENTS -->
314 <#if entMoreInfo.ehunewdocumentFieldSet?? >
315 <@upvlibs.writeHtmlForDocumentsNew documents=entMoreInfo.ehunewdocumentFieldSet nivel=2 encabezado="document" campo="ehunewdocument" titulo="ehunewdocumenttitle" tipo=2 adicional=0 />
316 </#if>
317
318 <#-- LINKS -->
319 <#if entMoreInfo.ehunewurlFieldSet??>
320 <#assign encabezado="ehu.web-address">
321 <#if !isGlobal >
322 <#assign encabezado="link">
323 </#if>
324 <@upvlibs.writeHtmlForLinksNew links=entMoreInfo.ehunewurlFieldSet nivel=2 encabezado=encabezado campo="ehunewurl" titulo="ehunewurltitle" newTab="" tipo=2 adicional=0 />
325 </#if>
326 </#if>
327
328 <#-- REFERENCE INFO -->
329 <#-- Bibliografía -->
330 <#assign entBibliography = ehunewbibliographicreferenceFieldSet >
331 <#assign hayBiblioArticles = getterUtil.getBoolean("false")>
332 <#if entBibliography?? && entBibliography.getSiblings()??>
333 <@upvlibs.validarLista lista=entBibliography campo="ehubibliographicreferencearticle" />
334 <#assign hayBiblioArticles = upvlibs.valida />
335
336 </#if>
337 <#if hayBiblioArticles >
338 <div class="${ bibliographyClass }">
339 <#if !isGlobal >
340 <#assign htmlIconBibliography = '<i class="icon-book"></i>' >
341 <#else>
342 <#assign htmlIconBibliography = "" >
343 </#if>
344
345 <h2>${ htmlIconBibliography }<@liferay.language key="ehu.bibliographic-reference" /></h2>
346 <#if !isGlobal >
347 <ul>
348 <#else>
349 <ul class="list-unstyled new-detail__bibliographic-reference__item">
350 </#if>
351 <#if !isGlobal >
352 <#assign htmlTxtArticle = "" >
353 <#assign htmlTxtPublication = "" >
354 <#assign htmlTxtAutoria = "" >
355 <#assign htmlTagBiblio = "span" >
356 <#else>
357 <#assign htmlTxtArticle = "<strong>" + cTxtArticle + ":" + "</strong>" >
358 <#assign htmlTxtPublication = "<strong>" + cTxtPublishing + ":" + "</strong>" >
359 <#assign htmlTxtAutoria = "<strong>" + cTxtAutoria + ":" + "</strong>" >
360 <#assign htmlTagBiblio = "p" >
361 </#if>
362 <#if !isGlobal >
363 <#assign htmlTxtDoi = '<abbr title="' + cTxtDoiTitle + '">' + cTxtDoi + '</abbr>: ' >
364 <#else>
365 <#assign htmlTxtDoi = '<abbr title="' + cTxtDoiTitle + '">' + "<strong>" + cTxtDoi + "</strong>" + '</abbr>: ' >
366 </#if>
367 <#list entBibliography.getSiblings() as elemEntBibliography >
368 <#if elemEntBibliography.ehubibliographicreferencearticle?is_hash >
369 <#assign aux = elemEntBibliography.ehubibliographicreferencearticle.getData()?html >
370 <#else>
371 <#assign aux = getterUtil.getString( elemEntBibliography.ehubibliographicreferencearticle ) >
372 </#if>
373 <#if aux?has_content && aux != "">
374 <#assign biblioArticle = aux>
375 <#else>
376 <#assign biblioArticle = "">
377 </#if>
378 <#if elemEntBibliography.ehubibliographicreferencepublication?is_hash >
379 <#assign aux = elemEntBibliography.ehubibliographicreferencepublication.getData()?html >
380 <#else>
381 <#assign aux = getterUtil.getString( elemEntBibliography.ehubibliographicreferencepublication ) >
382 </#if>
383 <#if aux?has_content && aux != "">
384 <#assign biblioPublication = aux>
385 <#else>
386 <#assign biblioPublication = "">
387 </#if>
388 <#if biblioArticle == "" || biblioPublication == "" > <#continue> </#if>
389
390 <#if elemEntBibliography.ehubibliographicreferenceauthors?is_hash >
391 <#assign aux = elemEntBibliography.ehubibliographicreferenceauthors.getData()?html >
392 <#else>
393 <#assign aux = getterUtil.getString( elemEntBibliography.ehubibliographicreferenceauthors ) >
394 </#if>
395 <#if aux?has_content && aux != "">
396 <#assign biblioAuthors = aux>
397 <#else>
398 <#assign biblioAuthors = "">
399 </#if>
400 <#if elemEntBibliography.ehubibliographicreferencedoi?is_hash >
401 <#assign aux = elemEntBibliography.ehubibliographicreferencedoi.getData()?html >
402 <#else>
403 <#assign aux = getterUtil.getString( elemEntBibliography.ehubibliographicreferencedoi ) >
404 </#if>
405 <#if aux?has_content && aux != "">
406 <#assign biblioDoi = aux>
407 <#else>
408 <#assign biblioDoi = "">
409 </#if>
410 <#if biblioAuthors != "" >
411 <li>
412 <${ htmlTagBiblio } class="authors">${ htmlTxtAutoria } ${ biblioAuthors }</${ htmlTagBiblio }>
413 </li>
414 </#if>
415 <#if biblioArticle != "" >
416 <#if biblioDoi == "" >
417 <#assign htmlBiblioArticle = biblioArticle >
418 <#else>
419 <#assign htmlBiblioArticle = '<a target="_blank" href="' + cUrlDoiOrg + biblioDoi + '">' + biblioArticle + '</a>' >
420 </#if>
421 <li>
422 <${ htmlTagBiblio } class="article">${ htmlTxtArticle } ${ htmlBiblioArticle }</${ htmlTagBiblio }>
423 </li>
424 </#if>
425 <#if biblioPublication != "" >
426 <li>
427 <${ htmlTagBiblio } class="publication">${ htmlTxtPublication } ${ biblioPublication }</${ htmlTagBiblio }>
428 </li>
429 </#if>
430 <#if biblioDoi != "" >
431 <li>
432 <${ htmlTagBiblio } class="doi">${ htmlTxtDoi } ${ biblioDoi }</${ htmlTagBiblio }>
433 </li>
434 </#if>
435
436 </#list>
437
438 </ul>
439
440 </div> <#-- class="${ bibliographyClass }" -->
441 </#if>
442
443 <#if !isGlobal >
444 <#-- IMAGE GALLERY -->
445 <#if ehuimagegalleryFieldSet?? >
446 <#if ehuimagegalleryFieldSet.ehuslideFieldSet??>
447 <@upvlibs.imageGallerySection ehuimagegalleryFieldSet.ehuslideFieldSet articleId 4 />
448 </#if>
449 </#if>
450 </div> <#-- class="content-content" -->
451
452 <#-- LAST MODIFICATION DATE -->
453 <#assign showLastModifDate = getterUtil.getBoolean( "false")>
454 <#if entGeneralData.ehulastmodificationdate?? && entGeneralData.ehulastmodificationdate.getData()?? && entGeneralData.ehulastmodificationdate.getData()?has_content>
455 <#assign showLastModifDate = getterUtil.getBoolean(entGeneralData.ehulastmodificationdate.getData()?html) >
456 </#if>
457 <#if showLastModifDate >
458 <div class="content-footer">
459 <#assign articleModifiedDate = .vars['reserved-article-modified-date'].data!"" >
460 <#if locale == "eu_ES">
461 <#assign dateFormat = "yyyy/MM/dd">
462 <#else>
463 <#assign dateFormat = "dd/MM/yyyy">
464 </#if>
465 <#setting date_format=dateFormat >
466 <#assign currentLocale = locale>
467 <#setting locale = localeUtil.getDefault() >
468 <#if articleModifiedDate?? && articleModifiedDate != "" >
469 <#assign modifiedDate = ( articleModifiedDate?datetime( "EEE, dd MMM yyyy hh:mm:ss" ) )?date >
470 <#assign modifiedDateStr = modifiedDate?string >
471 <#else>
472 <#assign modifiedDateStr = "" >
473 </#if>
474 <#setting locale = currentLocale>
475
476 <#if modifiedDateStr != "" >
477 <p class="modification_date">
478 <strong class="text"> <@liferay.language key="ehu.last-modification-date" />:</strong>
479 <span class="date">${ modifiedDateStr }</span>
480 </p>
481 </#if>
482 </div>
483 </#if>
484 </#if>
485
486</article>
487
488
489<#-- Script para copiar al portapapeles la URL actual -->
490
491<script>
492function copyCurrentUrl() {
493 const successMessage = '<@liferay.language key="copied-link-to-the-clipboard" />';
494 const errorMessage = '<@liferay.language key="element-cannot-be-copied" />';
495
496 if (navigator.clipboard && window.isSecureContext) {
497 navigator.clipboard.writeText(window.location.href)
498 .then(() => alert(successMessage))
499 .catch(() => alert(errorMessage));
500 } else {
501 const textArea = document.createElement("textarea");
502 textArea.value = window.location.href;
503 document.body.appendChild(textArea);
504 textArea.focus();
505 textArea.select();
506 try {
507 const successful = document.execCommand('copy');
508 alert(successful ? successMessage : errorMessage);
509 } catch (err) {
510 alert(errorMessage);
511 }
512 document.body.removeChild(textArea);
513 }
514}
515</script>