Seria 1. EKS Start Elbląg-Młyny Stoisław Koszalin-galeria zdjęć - EKS Start Elbląg
Під час обробки запитаного шаблоку сталась помилка.
The following has evaluated to null or missing: ==> FieldsGroup.MainImage.getAttribute("fileEntryId") [in template "20100#20127#2316892" at line 7, column 58] ---- 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: allPhotos = photoGalleryUtil.getAllIm... [in template "20100#20127#2316892" at line 7, column 1] ----
1<#setting locale = locale>
2<#setting url_escaping_charset="UTF-8">
3<#assign
4assetCategoriesUtil = serviceLocator.findService("com.neutrica.smotai.clubs.commons.util.JournalArticleAssetCategoryUtil")
5photoGalleryUtil = serviceLocator.findService("com.neutrica.smotai.clubs.commons.util.JournalArticlePhotoGalleryUtil")
6
7allPhotos = photoGalleryUtil.getAllImagesFromImageFolder(FieldsGroup.MainImage.getAttribute("fileEntryId")?number, themeDisplay)
8articleCategories = assetCategoriesUtil.getJournalArticleAssetCategories(groupId, .vars['reserved-article-id'].data)
9encodedTitle = .vars['reserved-article-title'].data?url
10currentUrl = (themeDisplay.getPortalURL() + themeDisplay.getURLCurrent())?split("?")[0]
11/>
12
13<script data-senna-track="permanent" src="/o/common-utils/lightgallery/lightgallery.min.js" type="text/javascript"></script>
14<link href="/o/common-utils/lightgallery/css/lightgallery-bundle.min.css" rel="stylesheet" type="text/css"/>
15<script data-senna-track="permanent" src="/o/common-utils/lightgallery/plugins/lg-autoplay.min.js" type="text/javascript"></script>
16<script data-senna-track="permanent" src="/o/common-utils/lightgallery/plugins/lg-fullscreen.min.js" type="text/javascript"></script>
17<script data-senna-track="permanent" src="/o/common-utils/lightgallery/plugins/lg-hash.min.js" type="text/javascript"></script>
18<script data-senna-track="permanent" src="/o/common-utils/lightgallery/plugins/lg-relative-caption.min.js" type="text/javascript"></script>
19<script data-senna-track="permanent" src="/o/common-utils/lightgallery/plugins/lg-share.min.js" type="text/javascript"></script>
20<script data-senna-track="permanent" src="/o/common-utils/lightgallery/plugins/lg-thumbnail.min.js" type="text/javascript"></script>
21<script data-senna-track="permanent" src="/o/common-utils/lightgallery/plugins/lg-zoom.min.js" type="text/javascript"></script>
22
23<div class="gallery-container container">
24 <h2 class="section-title page-title">
25 ${.vars['reserved-article-title'].data}
26 </h2>
27 <div class="gallery-details">
28 <i class="icon icon-slg-camera"></i>
29 <span class="count">${allPhotos?size} <@liferay.language key="images" /></span>
30 <#if (articleCategories?size > 0)>
31 <span class="separator-vertical"></span>
32 <#list articleCategories as category>
33 <span class="tag">${category.getName()}</span>
34 </#list>
35 </#if>
36 <span class="separator-vertical"></span>
37 <div class="share js-share" id="sharebutton">
38 <i class="icon icon-slg-share"></i>
39 <div class="share-inner">
40 <a href="http://www.facebook.com/sharer.php?u=${currentUrl}" class="icon" target="_blank"><i class="icon-slg-facebook"></i></a>
41 <a href="http://www.linkedin.com/shareArticle?title=${encodedTitle}&mini=true&url=${currentUrl}&summary=" class="icon" target="_blank"><i class="icon-slg-linkedin"></i></a>
42 <a href="https://twitter.com/intent/tweet?text=${encodedTitle}&tw_p=tweetbutton&url=${currentUrl}" class="icon" target="_blank"><i class="icon-slg-twitter"></i></a>
43 </div>
44 </div>
45 </div>
46 <div id="lightgallery">
47 <#list allPhotos as imageDTO>
48 <a href="${imageDTO.getImageURL()}">
49 <img loading="lazy" class="single-photo photo-background" alt="Gallery image - ${imageDTO.getFileEntryId()}" data-fileentryid="${imageDTO.getFileEntryId()}" src="${imageDTO.getImageURL()}&imageThumbnail=2">
50 </a>
51 </#list>
52 </div>
53</div>
54
55<script type="text/javascript">
56 lightGallery(document.getElementById('lightgallery'), {
57 plugins: [lgZoom, lgAutoplay, lgFullscreen, lgHash, lgShare, lgThumbnail],
58 speed: 500,
59 download: false,
60 container: document.getElementById('wrapper'),
61 mobileSettings: {
62 controls: false,
63 }
64 });
65</script>
66<script type="text/javascript">
67 AUI().use("aui-base",
68 function(A){
69 A.one('#sharebutton').on(
70 'click',
71 function(event) {
72 this.toggleClass('active');
73 }
74 );
75 }
76 );
77</script>