About - InfraJournal
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> author [in template "37304#37346#351634" at line 228, column 6] ---- 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 author.getData()?has_content [in template "37304#37346#351634" at line 228, column 1] ----
1<style>
2
3
4.gal-art .swiper {
5
6 overflow: initial;
7 /*overflow-x:clip;*/
8 }
9
10.article-full .article-categories{margin-top:20px;margin-bottom:15px}
11.article-full.video-art .article-categories{margin-top:0px;margin-bottom:15px}
12.article-full .article-title {margin-bottom:30px}
13.article-full .article-subtitle {margin-bottom:20px}
14.article-full .article-author {margin-bottom:50px}
15.article-full .article-content p {text-indent:60px}
16.article-full .article-bio p {text-indent:0px;padding: 5px 0px}
17.journal-content-article{padding-bottom:40px}
18.article-full .article-content p:last-of-type{display:inline}
19.article-full .article-content p:last-of-type:before {content: '';width: 60px;height: 20px;display: inline-block;}
20.article-full .article-content {
21 line-height: 1.3;
22}
23._article-full.video-art .article-content{margin-top:-100px}
24._article-full.video-art .article-social{top:80%}
25
26.article-full .article-box {
27padding: 16px 20px 9px 20px;
28 top: unset;
29}
30.article-full.gal-art .article-box {
31margin: 0 2px 2px;}
32
33
34.article-full #artBox-zoom .article-dida {
35 margin-bottom: unset;
36 min-height: 50px;
37 position: absolute;
38 left: 20px;
39 bottom: -80px;
40 right: 110px;
41}
42
43
44
45.article-full.podcast-art .article-header,
46.article-full.video-art .article-header {display: flex;
47 flex-direction: column;
48 justify-content: center;
49 }
50
51/*.video-art .artBox-zoom .swiper-slide.gallery-image img*/
52.video-art .artBox-zoom .swiper-slide .vimeo-iframe
53{height: 392px}
54
55.gal-art .artBox-zoom .swiper-slide.gallery-image .imgslide,
56.video-art .artBox-zoom .swiper-slide.gallery-image .imgslide,
57.podcast-art .artBox-zoom .swiper-slide.gallery-image .imgslide{
58background-size:cover;height:392px
59}
60.gal-art .artBox-zoom.zoom .swiper-slide.gallery-image .imgslide,
61.video-art .artBox-zoom.zoom .swiper-slide.gallery-image .imgslide,
62.podcast-art .artBox-zoom .swiper-slide.gallery-image .imgslide{
63padding-bottom:60%;height:auto}
64
65.article-full.gal-art .article-social {
66 position: absolute;
67 top: 100%;
68 justify-content: flex-start;
69 padding-right: 26px;
70 min-height: 220px;
71 z-index: 1;
72}
73
74
75.artBox-zoom.zoom{ background-color:transparent, -webkit-box-shadow:none;box-shadow:none}
76/*.artBox-zoom.zoom .vimeo-iframe {_height: 920px; height:calc(100vh - 140px)}}*/
77
78.video-art .artBox-zoom.zoom .swiperGallery {height: calc(100vh - 140px);}
79.video-art .artBox-zoom.zoom,
80.video-art .artBox-zoom.zoom .vimeo-iframe,
81.video-art .artBox-zoom.zoom .swiper-slide.gallery-image .imgslide
82{ height:calc(100vh - 200px);min-height:unset;padding-bottom:0px}
83
84
85.podcast-art .artBox-zoom.zoom .swiperGallery {height: calc(100vh - 250px);}
86.podcast-art .artBox-zoom.zoom,
87.podcast-art .artBox-zoom.zoom .vimeo-iframe,
88.podcast-art .artBox-zoom.zoom .swiper-slide.gallery-image .imgslide
89{ height:calc(100vh - 310px);min-height:unset;padding-bottom:0px}
90
91
92.article-full .article-content h1,
93.article-full .article-content h2,
94.article-full .article-content h3,
95.article-full .article-content h4,
96.article-full .article-content h5,
97.article-full .article-content h6,
98.article-full .article-content h7 {color: #00a}
99
100
101.article-full .hideArrow {display:none !important;}
102.article-full .swiper-button-disabled {opacity:0.2 !important;}
103.article-full .swiper-prev, .article-full .swiper-next{cursor:pointer;display:inline-block}
104
105hr {border-color:black}
106
107.articles-entry .article-tag{margin-bottom:5px}
108.articles-entry h3.article-title {color: black !important;}
109.articles-entry .article-author {font-size:9px !important}
110
111.video-art .vimeo-iframe {background-color:black !important;}
112
113.article-full .article-content .ico_internet {
114 vertical-align: middle;
115}
116
117@media(max-width:768px){
118 .article-full .article-title {margin-bottom: 5px;}
119 .article-full .article-categories {margin-bottom: 5px;margin-top:0px}
120 .article-full .article-author {margin-bottom: 20px;}
121 .article-full .article-subtitle{margin-bottom:5px}
122 .article-full .article-content .ico_internet { width: 16px;height: 16px;}
123 .article-full .article-adt{top:20px;-webkit-box-shadow: unset;-moz-box-shadow: unset;box-shadow: unset;padding: 2rem 10px 1.25rem 10px;}
124.article-full .article-content h3, .h3 {
125 font-size: 20px;
126}
127}
128
129.article-full.gal-art #artBox-zoom{
130overflow: hidden;
131}
132
133.article-full.gal-art .article-dida {
134 height: 30px;
135 min-height:unset !important;
136 bottom: -53px !important;
137 right: 110px !important;
138
139 display: flex;
140 align-items: center;
141}
142
143</style>
144
145
146<#assign artTitle = .vars['reserved-article-title'].data />
147<#assign artTitleUrl = .vars['reserved-article-url-title'].data />
148
149<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
150<#assign themeDisplay = serviceContext.getThemeDisplay() />
151<#assign artTitleUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
152
153
154<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")/>
155<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
156<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
157<#assign dLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
158<#assign browserSniffer = serviceLocator.findService("com.liferay.portal.kernel.servlet.BrowserSniffer") />
159
160<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)/>
161<#assign articleID = article.getArticleId()/>
162<#assign articlePK = article.getResourcePrimKey()/>
163<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articlePK) />
164
165<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
166<#assign themeDisplay = serviceContext.getThemeDisplay() />
167<#assign w3c_language_id = localeUtil.toW3cLanguageId(themeDisplay.getLanguageId())/>
168<#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
169
170<#assign namespace = "article-full"/>
171<#assign articleSize = "" />
172
173<#--@liferay_util["html-top"]>
174 <meta name="twitter:site" content="${artTitleUrl}">
175 <meta name="twitter:card" content="artTitle">
176 <meta name="twitter:title" content="artTitle">
177 <meta name="twitter:description" content="${artSubtitle.getData()}">
178 <meta name="twitter:image" content="${artImage.getData()}">
179
180 </@-->
181
182
183<#if artType.getData()?has_content>
184 <#if artType.getData() == "img">
185 <#assign articleSize ="long-art" />
186 <#elseif artType.getData() == "imgS">
187 <#assign articleSize ="short-art" />
188 <#elseif artType.getData() == "vid">
189 <#assign articleSize ="video-art" />
190 <#elseif artType.getData() == "pod">
191 <#assign articleSize ="podcast-art" />
192 <#elseif artType.getData() == "gal">
193 <#assign articleSize ="gal-art" />
194 </#if>
195</#if>
196
197<#--<#assign artLinkIN ="${artTitleUrl}" />-->
198<#assign artLinkFB ="${artTitleUrl}" />
199<#assign artLinkLI ="${artTitleUrl}" />
200<#assign artLinkTW ="${artTitleUrl}" />
201
202<#macro social>
203<#-- <a id="instagram" class="social-icon ico_socialIN" href="${artLinkIN}" target="_blank"></a>-->
204 <a id="twitter" class="social-icon ico_socialTW" href="${artLinkFB}" target="_blank"></a>
205 <a id="linkedin" class="social-icon ico_socialLI" href="${artLinkLI}" target="_blank"></a>
206 <a id="facebook" class="social-icon ico_socialFB" href="${artLinkTW}" target="_blank"></a>
207</#macro>
208
209<#macro assetRelated>
210
211 <h4 class="title-more"><#if w3c_language_id == 'it-IT' >Altri come questo<#else>More like this</#if></h4>
212
213 <#assign preferences = freeMarkerPortletPreferences.getPreferences({
214 "portletSetupPortletDecoratorId": "barebone",
215 "groupId": themeDisplay.getCompanyGroupId()?string,
216 "displayStyle": "ddmTemplate_ARTICLES-RELATED-FTL"
217 }) />
218
219 <@liferay_portlet["runtime"]
220 defaultPreferences="${preferences}"
221 portletProviderAction=portletProviderAction.VIEW
222 portletName="com_liferay_asset_publisher_web_portlet_RelatedAssetsPortlet"
223 />
224
225</#macro>
226
227<#-- AUTORE -->
228<#if author.getData()?has_content >
229<#assign webContentData = jsonFactoryUtil.createJSONObject(author.getData()) />
230
231<#assign NomeAutore = webContentData.getString( "title") />
232<#assign author_obj = journalArticleLocalService.getLatestArticle(webContentData.getLong( "classPK")) />
233<#assign document = saxReaderUtil.read(author_obj.getContentByLocale(locale))>
234<#assign Author_description = document.valueOf("//dynamic-element[@name='Descrizione']/dynamic-content/text()") />
235</#if>
236
237<section class="${namespace} ${articleSize}">
238 <#if artType.getData()?has_content>
239 <#if artType.getData() == "img" || artType.getData() == "imgS">
240 <#if artType.getData() == "imgS">
241 <div class="row">
242 <div class="col-12 col-md-2"></div>
243 <div class="article-header col-12 col-md-7">
244 <p class="article-categories">
245 <#-- list asset.getCategories() as category>
246 <span class="cat-item">${category.name}</span>
247 </#list -->
248 <#list categories as category>
249 <#if (category.vocabularyId = 408411)>
250 <#assign categoria = category>
251 <span class="cat-item">${category.getTitle(locale)}
252 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
253 </#if>
254 </#list>
255 </p>
256 <h1 class="article-title">${artTitle}</h1>
257 <h3 class="article-subtitle">${artSubtitle.getData()}</h3>
258 <#if (artAuthor.getData()?has_content)>
259 <p class="article-author">
260 <#if author.getData()?has_content >
261 By <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a>
262 <#else>
263 By ${artAuthor.getData()}
264 </#if></p>
265 </#if>
266
267 <#if (browserSniffer.isMobile(request) || browserSniffer.isIphone(request))>
268 <div class="article-social">
269 <@social/>
270 </div>
271 </#if>
272 </div>
273 <div class="col-12 col-md-3"></div>
274 </div>
275 </#if>
276
277 <div class="article-image">
278 <#if (artImage.getData())?? && artImage.getData() != "">
279
280 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
281 </#if>
282 </div>
283
284 <div class="row">
285 <div class="col-12 col-md-2"></div>
286 <div class="col-12 col-md-7">
287 <#if artCaption.getData()?has_content>
288 <p class="article-dida">${artCaption.getData()}</p>
289 <#else>
290 <p class="article-dida">${artImage.getAttribute("alt")}</p>
291 </#if>
292 </div>
293 <div class="col-12 col-md-3"></div>
294
295 <#if articleSize == "short-art">
296 <div class="article-social col-12 col-md-2">
297 <@social/>
298 </div>
299
300 <div class="article-content col-12 col-md-7">
301 <#if artContent.getData()?has_content>
302 ${artContent.getData()}
303 </#if>
304 <span class="ico_internet"></span>
305 <#if artBio.getData()?has_content>
306 <hr>
307 <div class="article-bio">
308
309 ${artBio.getData()}
310
311 </div>
312 <hr>
313 </#if>
314 </div>
315
316 <div class="article-adt vert col-12 col-md-3">
317 <@assetRelated/>
318 </div>
319
320 <#else>
321
322 </#if>
323
324 <#if articleSize == "long-art">
325
326 <div class="col-12 col-md-9 pad0">
327
328 <div class="row">
329 <div class="col-12 Pcol22"> </div>
330 <div class="col-12 Pcol77">
331 <#if artType.getData() == "img">
332 <div class="article-header">
333 <p class="article-categories">
334 <#-- list asset.getCategories() as category>
335 <span class="cat-item">${category.name}</span>
336 </#list -->
337 <#list asset.categories as category>
338 <#if (category.vocabularyId = 408411)>
339 <#assign categoria = category>
340 <span class="cat-item">${category.getTitle(locale)}
341 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
342 </#if>
343 </#list>
344 </p>
345 <h1 class="article-title">${artTitle}</h1>
346 <h3 class="article-subtitle">${artSubtitle.getData()}</h3>
347 <#if (artAuthor.getData()?has_content)>
348 <p class="article-author">
349
350 <#--By ${artAuthor.getData()}-->
351 <#if author.getData()?has_content >
352 By <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a>
353 <#else>
354 By ${artAuthor.getData()}
355 </#if>
356 </p>
357 </#if>
358 </div>
359 </#if>
360 </div>
361 <div class="article-social col-12 Pcol22">
362 <@social/>
363 </div>
364 <div class="article-content col-12 Pcol77">
365 <#if artContent.getData()?has_content>
366 ${artContent.getData()}
367 </#if>
368 <span class="ico_internet"></span>
369 <#--if artBio.getData()?has_content-->
370 <hr>
371 <div class="article-bio">
372 <#if author.getData()?has_content >
373 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
374 <#else>
375 ${artAuthor.getData()}
376 <#if artBio.getData()?has_content >
377 - ${artBio.getData()}
378 </#if>
379 </#if>
380
381 </div>
382 <hr>
383 <#--/ #if -->
384 </div>
385 </div>
386 </div>
387
388 <div class="article-adt vert col-12 col-md-3">
389 <@assetRelated/>
390 </div>
391 </#if>
392
393 </#if>
394 <#if artType.getData() == "pod" || artType.getData() == "vid">
395
396 <div class="row">
397
398 <div class="article-header col-12 col-md-6">
399 <p class="article-categories">
400 <#-- list asset.getCategories() as category>
401 <span class="cat-item">${category.name}</span>
402 </#list -->
403 <#list asset.categories as category>
404 <#if (category.vocabularyId = 408411)>
405 <#assign categoria = category>
406 <span class="cat-item">${category.getTitle(locale)}
407 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
408 </#if>
409 </#list>
410 </p>
411 <h1 class="article-title">${artTitle}</h1>
412 <h3 class="article-subtitle"> ${artSubtitle.getData()}</h3>
413
414 <p class="article-author">
415 <#if author.getData()?has_content >
416 By <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a>
417 <#else>
418 By ${artAuthor.getData()}
419 </#if>
420 </p>
421
422
423 <div class="article-social">
424 <@social/>
425 </div>
426 </div>
427 <div class="article-sticky col-12 col-md-6">
428 <div id="artBox-zoom" class="artBox-zoom">
429 <span id="buttonClose" class="ico_close"></span>
430 <#--if getterUtil.getBoolean(checkGallery.getData())-->
431 <#if checkGallery.artGallery.getSiblings()?has_content>
432 <div class="swiper swiperGallery">
433 <div class="swiper-wrapper">
434 <#if artType.getData() == "vid">
435 <div class="swiper-slide gallery-image" data-target="0" >
436 <#if (artVideo.getData())?? && artVideo.getData() != "">
437 <div class="vimeo-iframe" style="_padding:56.25% 0 0 0;position:relative;" >
438 <iframe src="https://player.vimeo.com/video/${artVideo.getData()}?title=0&byline=0&portrait=0" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>
439 </div>
440 <#if artCaption.getData()?has_content>
441 <span class="article-dida">${artCaption.getData()}</span>
442 <#else>
443 <span class="article-dida">${artImage.getAttribute("alt")}</span>
444 </#if>
445 </#if>
446 </div>
447 </#if>
448 <div class="swiper-slide gallery-image" data-target="0">
449 <#if (artImage.getData())?? && artImage.getData() != "">
450 <#--img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" /-->
451 <div class="imgslide" style="background-image:url('${artImage.getData()}');"></div>
452 <span class="article-dida">${artImage.getAttribute("alt")} </span>
453 </#if>
454 </div>
455 <#list checkGallery.artGallery.getSiblings() as cur_checkGallery_artGallery>
456 <#if (cur_checkGallery_artGallery.getData())?? && cur_checkGallery_artGallery.getData() != "">
457 <div class="swiper-slide gallery-image" data-target="${cur_checkGallery_artGallery?counter - 0}">
458 <img alt="${cur_checkGallery_artGallery.getAttribute("alt")}" data-fileentryid="${cur_checkGallery_artGallery.getAttribute("fileEntryId")}" src="${cur_checkGallery_artGallery.getData()}" />
459 <span class="article-dida">${cur_checkGallery_artGallery.getAttribute("alt")} </span>
460 </div>
461 </#if>
462 </#list>
463 </div>
464 </div>
465 <div class="article-box">
466 <div class="swiper-control">
467 <div class="swiper-prev ico_arrowLeft" tabindex="-1" role="button" aria-label="undefined" aria-controls="Previous slide" aria-disabled="false"> </div>
468 <div class="swiper-next ico_arrowRight" tabindex="0" role="button" aria-label="undefined" aria-controls="Next slide" aria-disabled="false"> </div>
469 </div>
470 <#if artType.getData() == "pod">
471 <div class="article-player">
472 <audio class="" width="100%" controls controlsList="nodownload">
473 <source src="${artPodcast.getData()}" type="audio/mpeg">
474 </audio>
475 <p class="article-dida">Audio: Listen to the podcast.</p>
476 </div>
477 </#if>
478 </div>
479 </#if>
480 <#--else>
481 <#if artType.getData() == "vid">
482 <#if (artVideo.getData())?? && artVideo.getData() != "">
483 <div class="vimeo-iframe" style="padding:56.25% 0 0 0;position:relative;" >
484 <iframe src="https://player.vimeo.com/video/${artVideo.getData()}?title=0&byline=0&portrait=0" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>
485 </div>
486 <#if artCaption.getData()?has_content>
487 <span class="article-dida">${artCaption.getData()}</span>
488 <#else>
489 <span class="article-dida">${artImage.getAttribute("alt")}</span>
490 </#if>
491 </#if>
492 </#if>
493 <#if artType.getData() == "pod">
494 <#if (artImage.getData())?? && artImage.getData() != "">
495 <div class="swiper-slide gallery-image">
496 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
497 <span class="article-dida">${artImage.getAttribute("alt")} </span>
498 </div>
499 </#if>
500 <div class="article-player">
501 <audio class="" width="100%" controls controlsList="nodownload">
502 <source src="${artPodcast.getData()}" type="audio/mpeg">
503 </audio>
504 <p class="article-dida">Audio: Listen to the podcast. Also available on Spotify.</p>
505 </div>
506 </#if>
507 <#if artType.getData() == "img" || artType.getData() == "imgS">
508 <#if (artImage.getData())?? && artImage.getData() != "">
509 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
510 <span class="article-dida">${artImage.getAttribute("alt")} </span>
511 </#if>
512 </#if>
513 </#if-->
514
515 </div>
516
517 </div>
518 <div class="article-content col-12 col-md-6">
519 <div class="article-block"></div>
520 <#if artContent.getData()?has_content>
521 ${artContent.getData()}
522 </#if>
523 <span class="ico_internet"></span>
524
525 <hr>
526 <div class="article-bio">
527
528 <#if author.getData()?has_content >
529 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
530 <#else>
531 <#if author.getData()?has_content >
532 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
533 <#else>
534 ${artAuthor.getData()}
535 <#if artBio.getData()?has_content >
536 - ${artBio.getData()}
537 </#if>
538 </#if>
539 </#if>
540
541 </div>
542 <hr>
543
544 </div>
545
546 <div class="article-adt horiz notop col-12 col-md-10">
547 <@assetRelated/>
548 </div>
549
550 </div>
551
552 </#if>
553 <#if artType.getData() == "gal">
554
555 <div class="row">
556
557 <div class="article-header col-12 col-md-6">
558 <p class="article-categories">
559 <#-- list asset.getCategories() as category>
560 <span class="cat-item">${category.name}</span>
561 </#list -->
562 <#list asset.categories as category>
563 <#if (category.vocabularyId = 408411)>
564 <#assign categoria = category>
565 <span class="cat-item">${category.getTitle(locale)}
566 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
567 </#if>
568 </#list>
569 </p>
570 <h1 class="article-title">${artTitle}</h1>
571 <h3 class="article-subtitle"> ${artSubtitle.getData()}</h3>
572
573 <p class="article-author">
574 <#if author.getData()?has_content >
575 By <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a>
576 <#else>
577 By ${artAuthor.getData()}
578 </#if>
579 </p>
580
581
582 <div class="article-social">
583 <@social/>
584 </div>
585 </div>
586 <div class="article-sticky col-12 col-md-6">
587 <div id="artBox-zoom" class="artBox-zoom">
588 <span id="buttonClose" class="ico_close"></span>
589 <#--if getterUtil.getBoolean(checkGallery.getData())-->
590 <#if checkGallery.artGallery.getSiblings()?has_content>
591 <div class="swiper swiperGallery">
592 <div class="swiper-wrapper">
593
594 <#if (artImage.getData())?? && artImage.getData() != "">
595 <div class="swiper-slide gallery-image" data-target="0">
596
597 <#--img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" /-->
598 <a class="expand" href="${artImage.getData()}" data-fancybox="gallery" data-caption="${artImage.getAttribute("alt")}">
599 <div class="imgslide" style="background-image:url('${artImage.getData()}');"></div>
600 </a>
601 <span class="article-dida">${artImage.getAttribute("alt")} </span>
602
603 </div>
604 </#if>
605 <#list checkGallery.artGallery.getSiblings() as cur_checkGallery_artGallery>
606 <#if (cur_checkGallery_artGallery.getData())?? && cur_checkGallery_artGallery.getData() != "">
607 <div class="swiper-slide gallery-image" data-target="${cur_checkGallery_artGallery?counter - 0}">
608 <a class="expand" href="${cur_checkGallery_artGallery.getData()}" data-fancybox="gallery" data-caption="${cur_checkGallery_artGallery.getAttribute("alt")}">
609 <img alt="${cur_checkGallery_artGallery.getAttribute("alt")}" data-fileentryid="${cur_checkGallery_artGallery.getAttribute("fileEntryId")}" src="${cur_checkGallery_artGallery.getData()}" /></a>
610
611 <span class="article-dida">${cur_checkGallery_artGallery.getAttribute("alt")} </span>
612 </div>
613 </#if>
614 </#list>
615 </div>
616 </div>
617 <div class="article-box">
618 <div class="swiper-control">
619 <div class="swiper-prev ico_arrowLeft" tabindex="-1" role="button" aria-label="undefined" aria-controls="Previous slide" aria-disabled="false"> </div>
620 <div class="swiper-next ico_arrowRight" tabindex="0" role="button" aria-label="undefined" aria-controls="Next slide" aria-disabled="false"> </div>
621 </div>
622 <#if artType.getData() == "pod">
623 <div class="article-player">
624 <audio class="" width="100%" controls controlsList="nodownload">
625 <source src="${artPodcast.getData()}" type="audio/mpeg">
626 </audio>
627 <p class="article-dida">Audio: Listen to the podcast.</p>
628 </div>
629 </#if>
630 </div>
631 </#if>
632 <#--else>
633 <#if artType.getData() == "vid">
634 <#if (artVideo.getData())?? && artVideo.getData() != "">
635 <div class="vimeo-iframe" style="padding:56.25% 0 0 0;position:relative;" >
636 <iframe src="https://player.vimeo.com/video/${artVideo.getData()}?title=0&byline=0&portrait=0" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>
637 </div>
638 <#if artCaption.getData()?has_content>
639 <span class="article-dida">${artCaption.getData()}</span>
640 <#else>
641 <span class="article-dida">${artImage.getAttribute("alt")}</span>
642 </#if>
643 </#if>
644 </#if>
645 <#if artType.getData() == "pod">
646 <#if (artImage.getData())?? && artImage.getData() != "">
647 <div class="swiper-slide gallery-image">
648 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
649 <span class="article-dida">${artImage.getAttribute("alt")} </span>
650 </div>
651 </#if>
652 <div class="article-player">
653 <audio class="" width="100%" controls controlsList="nodownload">
654 <source src="${artPodcast.getData()}" type="audio/mpeg">
655 </audio>
656 <p class="article-dida">Audio: Listen to the podcast. Also available on Spotify.</p>
657 </div>
658 </#if>
659 <#if artType.getData() == "img" || artType.getData() == "imgS">
660 <#if (artImage.getData())?? && artImage.getData() != "">
661 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
662 <span class="article-dida">${artImage.getAttribute("alt")} </span>
663 </#if>
664 </#if>
665 </#if-->
666
667 </div>
668
669 </div>
670 <div class="article-content col-12 col-md-6">
671 <div class="article-block"></div>
672 <#if artContent.getData()?has_content>
673 ${artContent.getData()}
674 </#if>
675 <span class="ico_internet"></span>
676
677 <hr>
678 <div class="article-bio">
679
680 <#if author.getData()?has_content >
681 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
682 <#else>
683 <#if author.getData()?has_content >
684 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
685 <#else>
686 ${artAuthor.getData()}
687 <#if artBio.getData()?has_content >
688 - ${artBio.getData()}
689 </#if>
690 </#if>
691 </#if>
692
693 </div>
694 <hr>
695
696 </div>
697
698 <div class="article-adt horiz notop col-12 col-md-10">
699 <@assetRelated/>
700 </div>
701
702 </div>
703
704 </#if>
705
706
707 </#if>
708</section>
709
710<script>
711 var swiperGallery = new Swiper('.swiper.swiperGallery', {
712 autoHeight: true,
713 slidesPerView: "1",
714 navigation: {
715 nextEl: ".swiper-next",
716 prevEl: ".swiper-prev",
717 },
718 });
719</script>
720<script>
721
722 <#if artType.getData() != "gal">
723 function process(){
724 if( $(window).width() > 767){
725 $('.artBox-zoom .swiper').click(function(){
726 $('.artBox-zoom').addClass('zoom');
727 });
728 $('#buttonClose').click(function(e){
729 $('.artBox-zoom').removeClass('zoom');
730 e.stopPropagation();
731 });
732 } else {
733 }
734 }
735 process();
736 $(window).resize(function(){
737 process()
738 });
739
740 </#if>
741
742 $( document ).ready(function() {
743 if( $('#artRelated').length ) // use this if you are using id to check
744 { }
745 else {
746 $('.article-adt.vert').css("visibility","hidden");
747 $('.article-adt.horiz').css("display","none");
748 }
749 });
750</script>
751<style>
752#buttonClose {
753
754filter: invert(1);
755 /*-webkit-filter: drop-shadow(1px 1px 0 white)
756 drop-shadow(-1px 1px 0 white)
757 drop-shadow(1px -1px 0 white)
758 drop-shadow(-1px -1px 0 white);
759
760 filter: drop-shadow(1px 1px 0 white)
761 drop-shadow(-1px 1px 0 white)
762 drop-shadow(1px -1px 0 white)
763 drop-shadow(-1px -1px 0 white);*/
764 }
765
766 .article-adt.notop {
767 top:0px;
768 -webkit-box-shadow: none;
769 -moz-box-shadow: none;
770 box-shadow: none;
771 }
772
773 .article-full.video-art .row,
774 .article-full.podcast-art .row{padding:0 0 0 20px !important}
775 .vimeo-iframe:after {
776 content: ' ';
777 z-index: 10000;
778 width: 100%;
779 height: 83%;
780 position: absolute;
781 top: 0px;
782 display: block;
783 cursor:pointer
784 }
785
786 @media (max-width:768px){
787 .vimeo-iframe:after {content:none}
788 }
789
790 .artBox-zoom.zoom {
791 position: ABSOLUTE;
792 width: calc(200% + 20px);
793 }
794
795 @media (max-width:768px){
796 .artBox-zoom.zoom {width:100%;}
797 }
798 @media (min-width: 768px){
799
800 .artBox-zoom.zoom.zoom .vimeo-iframe {
801 pointer-events: auto !important;}
802 .article-sticky {
803 position:-webkit-sticky; /* Safari */
804 position: sticky;
805 top:0px;
806 z-index:5;
807 }
808}
809@media (max-width: 767px){
810.article-full.podcast-art .article-sticky, .article-full.video-art .article-sticky {
811 min-width: calc(100% + 20px);}
812}
813</style>
814
815<script>
816jQuery(document).on('click', function(e) {
817 if(jQuery(e.target).hasClass('hamNav')){
818 e.preventDefault();
819 return;
820 } else {
821 if(jQuery("#navigationCollapseIJ").hasClass('show')){
822 jQuery('#hamNav').click();
823 }
824 }
825});
826</script>