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
249 <#list categories as category>
250 <#if (category.vocabularyId = 409321)>
251 <#assign categoria = category>
252 <span class="cat-item" ><a href="/${category.getTitle(locale)}" style="text-decoration:underline">${category.getTitle(locale)}</a>
253 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
254 </#if>
255 </#list>
256
257 <#list categories as category>
258 <#if (category.vocabularyId = 408411)>
259 <#assign categoria = category>
260 <span class="cat-item">${category.getTitle(locale)}
261 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
262 </#if>
263 </#list>
264 </p>
265 <h1 class="article-title">${artTitle}</h1>
266 <h3 class="article-subtitle">${artSubtitle.getData()}</h3>
267 <#if (artAuthor.getData()?has_content)>
268 <p class="article-author">
269 <#if author.getData()?has_content >
270 By <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a>
271 <#else>
272 By ${artAuthor.getData()}
273 </#if></p>
274 </#if>
275
276 <#if (browserSniffer.isMobile(request) || browserSniffer.isIphone(request))>
277 <div class="article-social">
278 <@social/>
279 </div>
280 </#if>
281 </div>
282 <div class="col-12 col-md-3"></div>
283 </div>
284 </#if>
285
286 <div class="article-image">
287 <#if (artImage.getData())?? && artImage.getData() != "">
288
289 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
290 </#if>
291 </div>
292
293 <div class="row">
294 <div class="col-12 col-md-2"></div>
295 <div class="col-12 col-md-7">
296 <#if artCaption.getData()?has_content>
297 <p class="article-dida">${artCaption.getData()}</p>
298 <#else>
299 <p class="article-dida">${artImage.getAttribute("alt")}</p>
300 </#if>
301 </div>
302 <div class="col-12 col-md-3"></div>
303
304 <#if articleSize == "short-art">
305 <div class="article-social col-12 col-md-2">
306 <@social/>
307 </div>
308
309 <div class="article-content col-12 col-md-7">
310 <#if artContent.getData()?has_content>
311 ${artContent.getData()}
312 </#if>
313 <span class="ico_internet"></span>
314 <#if artBio.getData()?has_content>
315 <hr>
316 <div class="article-bio">
317
318 ${artBio.getData()}
319
320 </div>
321 <hr>
322 </#if>
323 </div>
324
325 <div class="article-adt vert col-12 col-md-3">
326 <@assetRelated/>
327 </div>
328
329 <#else>
330
331 </#if>
332
333 <#if articleSize == "long-art">
334
335 <div class="col-12 col-md-9 pad0">
336
337 <div class="row">
338 <div class="col-12 Pcol22"> </div>
339 <div class="col-12 Pcol77">
340 <#if artType.getData() == "img">
341 <div class="article-header">
342 <p class="article-categories">
343 <#-- list asset.getCategories() as category>
344 <span class="cat-item">${category.name}</span>
345 </#list -->
346 <#list asset.categories as category>
347 <#if (category.vocabularyId = 409321)>
348 <#assign categoria = category>
349 <span class="cat-item" ><a href="/${category.getTitle(locale)}" style="text-decoration:underline">${category.getTitle(locale)}</a>
350 <span style="font-weight:100;font-family:Arial">|</span> </span>
351 </#if>
352 </#list>
353 <#list asset.categories as category>
354 <#if (category.vocabularyId = 408411)>
355 <#assign categoria = category>
356 <span class="cat-item">${category.getTitle(locale)}
357 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
358 </#if>
359 </#list>
360 </p>
361 <h1 class="article-title">${artTitle}</h1>
362 <h3 class="article-subtitle">${artSubtitle.getData()}</h3>
363 <#if (artAuthor.getData()?has_content)>
364 <p class="article-author">
365
366 <#--By ${artAuthor.getData()}-->
367 <#if author.getData()?has_content >
368 By <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a>
369 <#else>
370 By ${artAuthor.getData()}
371 </#if>
372 </p>
373 </#if>
374 </div>
375 </#if>
376 </div>
377 <div class="article-social col-12 Pcol22">
378 <@social/>
379 </div>
380 <div class="article-content col-12 Pcol77">
381 <#if artContent.getData()?has_content>
382 ${artContent.getData()}
383 </#if>
384 <span class="ico_internet"></span>
385 <#--if artBio.getData()?has_content-->
386 <hr>
387 <div class="article-bio">
388 <#if author.getData()?has_content >
389 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
390 <#else>
391 ${artAuthor.getData()}
392 <#if artBio.getData()?has_content >
393 - ${artBio.getData()}
394 </#if>
395 </#if>
396
397 </div>
398 <hr>
399 <#--/ #if -->
400 </div>
401 </div>
402 </div>
403
404 <div class="article-adt vert col-12 col-md-3">
405 <@assetRelated/>
406 </div>
407 </#if>
408
409 </#if>
410 <#if artType.getData() == "pod" || artType.getData() == "vid">
411
412 <div class="row">
413
414 <div class="article-header col-12 col-md-6">
415 <p class="article-categories">
416 <#-- list asset.getCategories() as category>
417 <span class="cat-item">${category.name}</span>
418 </#list -->
419 <#list asset.categories as category>
420 <#if (category.vocabularyId = 409321)>
421 <#assign categoria = category>
422 <span class="cat-item" ><a href="/${category.getTitle(locale)}" style="text-decoration:underline">${category.getTitle(locale)}</a>
423 <span style="font-weight:100;font-family:Arial">|</span> </span>
424 </#if>
425 </#list>
426 <#list asset.categories as category>
427 <#if (category.vocabularyId = 408411)>
428 <#assign categoria = category>
429 <span class="cat-item">${category.getTitle(locale)}
430 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
431 </#if>
432 </#list>
433 </p>
434 <h1 class="article-title">${artTitle}</h1>
435 <h3 class="article-subtitle"> ${artSubtitle.getData()}</h3>
436
437 <p class="article-author">
438 <#if author.getData()?has_content >
439 By <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a>
440 <#else>
441 By ${artAuthor.getData()}
442 </#if>
443 </p>
444
445
446 <div class="article-social">
447 <@social/>
448 </div>
449 </div>
450 <div class="article-sticky col-12 col-md-6">
451 <div id="artBox-zoom" class="artBox-zoom">
452 <span id="buttonClose" class="ico_close"></span>
453 <#--if getterUtil.getBoolean(checkGallery.getData())-->
454 <#if checkGallery.artGallery.getSiblings()?has_content>
455 <div class="swiper swiperGallery">
456 <div class="swiper-wrapper">
457 <#if artType.getData() == "vid">
458 <div class="swiper-slide gallery-image" data-target="0" >
459 <#if (artVideo.getData())?? && artVideo.getData() != "">
460 <div class="vimeo-iframe" style="_padding:56.25% 0 0 0;position:relative;" >
461 <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>
462 </div>
463 <#if artCaption.getData()?has_content>
464 <span class="article-dida">${artCaption.getData()}</span>
465 <#else>
466 <span class="article-dida">${artImage.getAttribute("alt")}</span>
467 </#if>
468 </#if>
469 </div>
470 </#if>
471 <div class="swiper-slide gallery-image" data-target="0">
472 <#if (artImage.getData())?? && artImage.getData() != "">
473 <#--img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" /-->
474 <div class="imgslide" style="background-image:url('${artImage.getData()}');"></div>
475 <span class="article-dida">${artImage.getAttribute("alt")} </span>
476 </#if>
477 </div>
478 <#list checkGallery.artGallery.getSiblings() as cur_checkGallery_artGallery>
479 <#if (cur_checkGallery_artGallery.getData())?? && cur_checkGallery_artGallery.getData() != "">
480 <div class="swiper-slide gallery-image" data-target="${cur_checkGallery_artGallery?counter - 0}">
481 <img alt="${cur_checkGallery_artGallery.getAttribute("alt")}" data-fileentryid="${cur_checkGallery_artGallery.getAttribute("fileEntryId")}" src="${cur_checkGallery_artGallery.getData()}" />
482 <span class="article-dida">${cur_checkGallery_artGallery.getAttribute("alt")} </span>
483 </div>
484 </#if>
485 </#list>
486 </div>
487 </div>
488 <div class="article-box">
489 <div class="swiper-control">
490 <div class="swiper-prev ico_arrowLeft" tabindex="-1" role="button" aria-label="undefined" aria-controls="Previous slide" aria-disabled="false"> </div>
491 <div class="swiper-next ico_arrowRight" tabindex="0" role="button" aria-label="undefined" aria-controls="Next slide" aria-disabled="false"> </div>
492 </div>
493 <#if artType.getData() == "pod">
494 <div class="article-player">
495 <audio class="" width="100%" controls controlsList="nodownload">
496 <source src="${artPodcast.getData()}" type="audio/mpeg">
497 </audio>
498 <p class="article-dida">Audio: Listen to the podcast.</p>
499 </div>
500 </#if>
501 </div>
502 </#if>
503 <#--else>
504 <#if artType.getData() == "vid">
505 <#if (artVideo.getData())?? && artVideo.getData() != "">
506 <div class="vimeo-iframe" style="padding:56.25% 0 0 0;position:relative;" >
507 <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>
508 </div>
509 <#if artCaption.getData()?has_content>
510 <span class="article-dida">${artCaption.getData()}</span>
511 <#else>
512 <span class="article-dida">${artImage.getAttribute("alt")}</span>
513 </#if>
514 </#if>
515 </#if>
516 <#if artType.getData() == "pod">
517 <#if (artImage.getData())?? && artImage.getData() != "">
518 <div class="swiper-slide gallery-image">
519 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
520 <span class="article-dida">${artImage.getAttribute("alt")} </span>
521 </div>
522 </#if>
523 <div class="article-player">
524 <audio class="" width="100%" controls controlsList="nodownload">
525 <source src="${artPodcast.getData()}" type="audio/mpeg">
526 </audio>
527 <p class="article-dida">Audio: Listen to the podcast. Also available on Spotify.</p>
528 </div>
529 </#if>
530 <#if artType.getData() == "img" || artType.getData() == "imgS">
531 <#if (artImage.getData())?? && artImage.getData() != "">
532 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
533 <span class="article-dida">${artImage.getAttribute("alt")} </span>
534 </#if>
535 </#if>
536 </#if-->
537
538 </div>
539
540 </div>
541 <div class="article-content col-12 col-md-6">
542 <div class="article-block"></div>
543 <#if artContent.getData()?has_content>
544 ${artContent.getData()}
545 </#if>
546 <span class="ico_internet"></span>
547
548 <hr>
549 <div class="article-bio">
550
551 <#if author.getData()?has_content >
552 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
553 <#else>
554 <#if author.getData()?has_content >
555 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
556 <#else>
557 ${artAuthor.getData()}
558 <#if artBio.getData()?has_content >
559 - ${artBio.getData()}
560 </#if>
561 </#if>
562 </#if>
563
564 </div>
565 <hr>
566
567 </div>
568
569 <div class="article-adt horiz notop col-12 col-md-10">
570 <@assetRelated/>
571 </div>
572
573 </div>
574
575 </#if>
576 <#if artType.getData() == "gal">
577
578 <div class="row">
579
580 <div class="article-header col-12 col-md-6">
581 <p class="article-categories">
582 <#-- list asset.getCategories() as category>
583 <span class="cat-item">${category.name}</span>
584 </#list -->
585 <#list asset.categories as category>
586 <#if (category.vocabularyId = 409321)>
587 <#assign categoria = category>
588 <span class="cat-item" ><a href="/${category.getTitle(locale)}" style="text-decoration:underline">${category.getTitle(locale)}</a>
589 <span style="font-weight:100;font-family:Arial">|</span> </span>
590 </#if>
591 </#list>
592 <#list asset.categories as category>
593 <#if (category.vocabularyId = 408411)>
594 <#assign categoria = category>
595 <span class="cat-item">${category.getTitle(locale)}
596 <#if !category?is_last> <span style="font-weight:100;font-family:Arial">|</span> </#if></span>
597 </#if>
598 </#list>
599 </p>
600 <h1 class="article-title">${artTitle}</h1>
601 <h3 class="article-subtitle"> ${artSubtitle.getData()}</h3>
602
603 <p class="article-author">
604 <#if author.getData()?has_content >
605 By <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a>
606 <#else>
607 By ${artAuthor.getData()}
608 </#if>
609 </p>
610
611
612 <div class="article-social">
613 <@social/>
614 </div>
615 </div>
616 <div class="article-sticky col-12 col-md-6">
617 <div id="artBox-zoom" class="artBox-zoom">
618 <span id="buttonClose" class="ico_close"></span>
619 <#--if getterUtil.getBoolean(checkGallery.getData())-->
620 <#if checkGallery.artGallery.getSiblings()?has_content>
621 <div class="swiper swiperGallery">
622 <div class="swiper-wrapper">
623
624 <#if (artImage.getData())?? && artImage.getData() != "">
625 <div class="swiper-slide gallery-image" data-target="0">
626
627 <#--img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" /-->
628 <a class="expand" href="${artImage.getData()}" data-fancybox="gallery" data-caption="${artImage.getAttribute("alt")}">
629 <div class="imgslide" style="background-image:url('${artImage.getData()}');"></div>
630 </a>
631 <span class="article-dida">${artImage.getAttribute("alt")} </span>
632
633 </div>
634 </#if>
635 <#list checkGallery.artGallery.getSiblings() as cur_checkGallery_artGallery>
636 <#if (cur_checkGallery_artGallery.getData())?? && cur_checkGallery_artGallery.getData() != "">
637 <div class="swiper-slide gallery-image" data-target="${cur_checkGallery_artGallery?counter - 0}">
638 <a class="expand" href="${cur_checkGallery_artGallery.getData()}" data-fancybox="gallery" data-caption="${cur_checkGallery_artGallery.getAttribute("alt")}">
639 <img alt="${cur_checkGallery_artGallery.getAttribute("alt")}" data-fileentryid="${cur_checkGallery_artGallery.getAttribute("fileEntryId")}" src="${cur_checkGallery_artGallery.getData()}" /></a>
640
641 <span class="article-dida">${cur_checkGallery_artGallery.getAttribute("alt")} </span>
642 </div>
643 </#if>
644 </#list>
645 </div>
646 </div>
647 <div class="article-box">
648 <div class="swiper-control">
649 <div class="swiper-prev ico_arrowLeft" tabindex="-1" role="button" aria-label="undefined" aria-controls="Previous slide" aria-disabled="false"> </div>
650 <div class="swiper-next ico_arrowRight" tabindex="0" role="button" aria-label="undefined" aria-controls="Next slide" aria-disabled="false"> </div>
651 </div>
652 <#if artType.getData() == "pod">
653 <div class="article-player">
654 <audio class="" width="100%" controls controlsList="nodownload">
655 <source src="${artPodcast.getData()}" type="audio/mpeg">
656 </audio>
657 <p class="article-dida">Audio: Listen to the podcast.</p>
658 </div>
659 </#if>
660 </div>
661 </#if>
662 <#--else>
663 <#if artType.getData() == "vid">
664 <#if (artVideo.getData())?? && artVideo.getData() != "">
665 <div class="vimeo-iframe" style="padding:56.25% 0 0 0;position:relative;" >
666 <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>
667 </div>
668 <#if artCaption.getData()?has_content>
669 <span class="article-dida">${artCaption.getData()}</span>
670 <#else>
671 <span class="article-dida">${artImage.getAttribute("alt")}</span>
672 </#if>
673 </#if>
674 </#if>
675 <#if artType.getData() == "pod">
676 <#if (artImage.getData())?? && artImage.getData() != "">
677 <div class="swiper-slide gallery-image">
678 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
679 <span class="article-dida">${artImage.getAttribute("alt")} </span>
680 </div>
681 </#if>
682 <div class="article-player">
683 <audio class="" width="100%" controls controlsList="nodownload">
684 <source src="${artPodcast.getData()}" type="audio/mpeg">
685 </audio>
686 <p class="article-dida">Audio: Listen to the podcast. Also available on Spotify.</p>
687 </div>
688 </#if>
689 <#if artType.getData() == "img" || artType.getData() == "imgS">
690 <#if (artImage.getData())?? && artImage.getData() != "">
691 <img class="" alt="${artImage.getAttribute("alt")}" data-fileentryid="${artImage.getAttribute("fileEntryId")}" src="${artImage.getData()}" />
692 <span class="article-dida">${artImage.getAttribute("alt")} </span>
693 </#if>
694 </#if>
695 </#if-->
696
697 </div>
698
699 </div>
700 <div class="article-content col-12 col-md-6">
701 <div class="article-block"></div>
702 <#if artContent.getData()?has_content>
703 ${artContent.getData()}
704 </#if>
705 <span class="ico_internet"></span>
706
707 <hr>
708 <div class="article-bio">
709
710 <#if author.getData()?has_content >
711 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
712 <#else>
713 <#if author.getData()?has_content >
714 <a href="${themeDisplay.getPortalURL()}/${(themeDisplay.getLocale()[0..1])}/autori/-/content/${author_obj.getUrlTitle()}">${NomeAutore}</a> - ${Author_description}
715 <#else>
716 ${artAuthor.getData()}
717 <#if artBio.getData()?has_content >
718 - ${artBio.getData()}
719 </#if>
720 </#if>
721 </#if>
722
723 </div>
724 <hr>
725
726 </div>
727
728 <div class="article-adt horiz notop col-12 col-md-10">
729 <@assetRelated/>
730 </div>
731
732 </div>
733
734 </#if>
735
736
737 </#if>
738</section>
739
740<script>
741 var swiperGallery = new Swiper('.swiper.swiperGallery', {
742 autoHeight: true,
743 slidesPerView: "1",
744 navigation: {
745 nextEl: ".swiper-next",
746 prevEl: ".swiper-prev",
747 },
748 });
749</script>
750<script>
751
752 <#if artType.getData() != "gal">
753 function process(){
754 if( $(window).width() > 767){
755 $('.artBox-zoom .swiper').click(function(){
756 $('.artBox-zoom').addClass('zoom');
757 });
758 $('#buttonClose').click(function(e){
759 $('.artBox-zoom').removeClass('zoom');
760 e.stopPropagation();
761 });
762 } else {
763 }
764 }
765 process();
766 $(window).resize(function(){
767 process()
768 });
769
770 </#if>
771
772 $( document ).ready(function() {
773 if( $('#artRelated').length ) // use this if you are using id to check
774 { }
775 else {
776 $('.article-adt.vert').css("visibility","hidden");
777 $('.article-adt.horiz').css("display","none");
778 }
779 });
780</script>
781<style>
782#buttonClose {
783
784filter: invert(1);
785 /*-webkit-filter: drop-shadow(1px 1px 0 white)
786 drop-shadow(-1px 1px 0 white)
787 drop-shadow(1px -1px 0 white)
788 drop-shadow(-1px -1px 0 white);
789
790 filter: drop-shadow(1px 1px 0 white)
791 drop-shadow(-1px 1px 0 white)
792 drop-shadow(1px -1px 0 white)
793 drop-shadow(-1px -1px 0 white);*/
794 }
795
796 .article-adt.notop {
797 top:0px;
798 -webkit-box-shadow: none;
799 -moz-box-shadow: none;
800 box-shadow: none;
801 }
802
803 .article-full.video-art .row,
804 .article-full.podcast-art .row{padding:0 0 0 20px !important}
805 .vimeo-iframe:after {
806 content: ' ';
807 z-index: 10000;
808 width: 100%;
809 height: 83%;
810 position: absolute;
811 top: 0px;
812 display: block;
813 cursor:pointer
814 }
815
816 @media (max-width:768px){
817 .vimeo-iframe:after {content:none}
818 }
819
820 .artBox-zoom.zoom {
821 position: ABSOLUTE;
822 width: calc(200% + 20px);
823 }
824
825 @media (max-width:768px){
826 .artBox-zoom.zoom {width:100%;}
827 }
828 @media (min-width: 768px){
829
830 .artBox-zoom.zoom.zoom .vimeo-iframe {
831 pointer-events: auto !important;}
832 .article-sticky {
833 position:-webkit-sticky; /* Safari */
834 position: sticky;
835 top:0px;
836 z-index:5;
837 }
838}
839@media (max-width: 767px){
840.article-full.podcast-art .article-sticky, .article-full.video-art .article-sticky {
841 min-width: calc(100% + 20px);}
842}
843</style>
844
845<script>
846jQuery(document).on('click', function(e) {
847 if(jQuery(e.target).hasClass('hamNav')){
848 e.preventDefault();
849 return;
850 } else {
851 if(jQuery("#navigationCollapseIJ").hasClass('show')){
852 jQuery('#hamNav').click();
853 }
854 }
855});
856</script>