Lumin luomusarja: Mitä luomu on? - MTK-Pohjois-Suomi
Fel uppstod under bearbetning av mallen.
Java method "com.sun.proxy.$Proxy962.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy962 object "com.ch5finland.mtk.site.JournalArticleLocalServiceOverride@5bd32153"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #local article = JournalArticleLocalS... [in template "43867" in function "getJournalArticle" at line 58, column 5]
----
1<#-- Artikkeli -->
2<#-- 04/04/2019-->
3<#-- INIT -->
4
5<#assign dlAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") />
6<#-- Import common variables, functions & macros -->
7<#import "${templatesPath}/43867" as ch5>
8<#assign exclusiveMode = ch5.isExclusiveMode() >
9
10<#assign title = ch5.getTitle() />
11<#assign summary = ch5.getSummary()/>
12<#assign date = ch5.getDisplayDate()/>
13<#assign contentType = ch5.getStructureName() />
14<#assign membersOnly = extra.getSiblings()!"">
15<#assign youtubeURL = video.source.youtubeURL.getData() >
16<#assign dreambrokerURL = video.source.dreambrokerURL.getData() >
17<#assign caption = video.videoCaption.getData() >
18<#assign bodyText = body.getData() />
19<#assign attachments = attachment.getSiblings()!"">
20<#-- Get article type category from a specific vocabulary. User can select multiple categories from the UI, but only one is shown to the user -> output only the first selected category. -->
21<#assign articleTypeList = ch5.getCategoryNames(articleTypeVocabularyId) />
22<#assign articleType = articleTypeList?first!"" />
23<script >
24 ( function() { var youtube = document.querySelectorAll( ".youtube" ); for (var i = 0; i < youtube.length; i++) { var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; var image = new Image(); image.src = source; image.addEventListener( "load", function() { youtube[ i ].appendChild( image ); }( i ) ); youtube[i].addEventListener( "click", function() { var iframe = document.createElement( "iframe" ); iframe.setAttribute( "frameborder", "0" ); iframe.setAttribute( "allowfullscreen", "" ); iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); this.innerHTML = ""; this.appendChild( iframe ); } ); }; } )();
25</script>
26
27
28<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
29<#assign mtkpaagroup = GroupLocalService.fetchGroup(groupId) >
30
31<#if exclusiveMode >
32 <@ch5.exclusiveModeScripts />
33</#if>
34
35<#--------------- doby trigger --------------->
36<#if Tekstilaatikkohfrr.getSiblings()?has_content>
37 <#list Tekstilaatikkohfrr.getSiblings() as nbox>
38 <#assign nostolaatikko = ''>
39 <#assign nostolaatikko += '<div class="card nostokortti" ><div><h5 class="card-title nostokorttiotsikko">${nbox.getData()}</h5></div> '>
40 <#if nbox.Tekstilaatikko7cq1.getSiblings()?has_content>
41 <#assign nostolaatikko += '<div class="card-body"> <div class="container"> '>
42 <#list nbox.Tekstilaatikko7cq1.getSiblings() as row>
43 <#assign nostolaatikko += '
44 <div class="row nostokorttirivi">
45 <div class="col-sm">
46 <h5 class="nostokorttirivitextarvo font-weight-bold">${row.getData()}</h5>
47 <p class="nostokorttirivitextarvo">${row.Tekstilaatikkob7rx.getData()}</p>
48 </div>
49 <div class="col-sm">
50 <div class="nostokorttiriviicon">
51 <div class="nostokorttiriviiconkehys">
52 <i class="${row.Tekstilaatikko61hk.getData()}" style="color: ${row.Tekstilaatikko61hk.Vri980u.getData()};"></i>
53 </div>
54 <div class="nostokorttirivitext">
55 <p class="nostokorttirivitextnum" style="color: ${row.Tekstilaatikko61hk.Vri980u.getData()};">${row.Tekstilaatikko61hk.Tekstilaatikko356z.getData()}</p>
56 <p>${row.Tekstilaatikko61hk.Tekstilaatikkofbiq.getData()}</p>
57 </div>
58 </div>
59 </div>
60 <div class="col-sm">
61 <div class="nostokorttiriviicon">
62 <div class="nostokorttiriviiconkehys">
63 <i class="${row.Tekstilaatikkoj1w6.getData()}" style="color: ${row.Tekstilaatikkoj1w6.Vri2xek.getData()};"></i>
64 </div>
65 <div class="nostokorttirivitext">
66 <p class="nostokorttirivitextnum" style="color: ${row.Tekstilaatikkoj1w6.Vri2xek.getData()};">${row.Tekstilaatikkoj1w6.Tekstilaatikkobp7i.getData()}</p>
67 <p>${row.Tekstilaatikkoj1w6.Tekstilaatikkohnae.getData()}</p>
68 </div>
69 </div>
70 </div>
71 </div>
72 '>
73 </#list>
74 <#assign nostolaatikko += '</div></div>'>
75 </#if>
76 <#assign nostolaatikko += '</div>'>
77 <#assign bodyText = "${bodyText?replace('[[info]]', nostolaatikko, 'f')}">
78 </#list>
79</#if>
80<#assign bodyText = "${bodyText?replace('[[info]]', '')}">
81 <#if Tekstilaatikkoj4bk.getSiblings()?has_content>
82 <#list Tekstilaatikkoj4bk.getSiblings() as cur_Tekstilaatikkoj4bk>
83 <#assign Lainausnoste = '
84 <div class="container" style="margin-left: 18px;">
85 <div class="mtkartikkeliLainausnostetext">
86 <div class="sitaattiteksti">${cur_Tekstilaatikkoj4bk.getData()} </div>
87 </div>
88 </div>
89 '>
90 <#assign bodyText = "${bodyText?replace('[[lainaus]]', Lainausnoste, 'f')}">
91 </#list>
92 </#if>
93 <#assign bodyText = "${bodyText?replace('[[lainaus]]', '')}">
94 <#if Teksti3wcx.getSiblings()?has_content>
95 <#list Teksti3wcx.getSiblings() as cur_Teksti3wcx>
96 <#assign nostolaatikkohtml = '
97 <div class="card nostokortti" >
98 <div>
99 <h5 class="card-title nostokorttiotsikko">${cur_Teksti3wcx.getData()}</h5>
100 </div>
101 <div class="card-body">
102 <div class="container">${cur_Teksti3wcx.HTML3qzk.getData()}</div>
103 </div>
104 </div>
105 '>
106 <#assign bodyText = "${bodyText?replace('[[nosto]]', nostolaatikkohtml, 'f')}">
107 </#list>
108
109 </#if>
110<#assign bodyText = "${bodyText?replace('[[nosto]]', '')}">
111<#--------------- OUTPUT --------------->
112<div class="container <#if exclusiveMode >exclusive-mode</#if>" style="">
113 <div class="row">
114 <div class="col">
115
116 <#if articleType?has_content>
117 <p>${contentType} – ${articleType}</p>
118 <#else>
119 <p>${contentType}</p>
120 </#if>
121
122 <h1>${title}</h1>
123 <#if main_author?? && main_author?has_content>
124 <p class="text-muted">${date}</p>
125 <#else>
126 <p class="text-muted">${date} ${author.getData()}</p>
127 </#if>
128 <#if summary?has_content>
129 <div class="font-weight-light article-intro">${summary}</div>
130 </#if>
131 </div>
132 <div class="col-1">
133
134 </div>
135 </div>
136 <div class="row">
137 <div class="col-11" >
138 <#if youtubeURL?? && youtubeURL != "">
139 ${ch5.getVideoEmbed(youtubeURL, caption)}
140 <#-- set og image if paakuva exists -->
141 <#if image.getData()?? && image.getData() != "">
142 <@ch5.setOgImage image />
143 </#if>
144 <#elseif dreambrokerURL?? && dreambrokerURL != "">
145 ${ch5.getVideoEmbed(dreambrokerURL, caption)}
146 <#elseif image.getData()?? && image.getData() != "" && hideArticleImage?? && hideArticleImage.getData() != "true">
147 <@ch5.getadatiivinemediaimage image />
148 </#if>
149 </div>
150<#if !exclusiveMode>
151 <div style="" class="col-11 col-md-1">
152 <#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
153 <#assign mtkpaagroup = GroupLocalService.fetchGroup(groupId) >
154 <div class="artikkelisomelista">
155 <ul class="list-unstyled " style="height: 0;">
156 <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://${ch5.getVirtualHostForGroup(mtkpaagroup)}/-/${.vars['reserved-article-url-title'].data}" target="_blank" class="fab fa-facebook-f fimtkteemaartikkelilistasosiaalinenmedia fimtkteemaartikkelilistasosiaalinenmediafacebook ml-3 mt-0" ></a></li>
157 <li><a href="https://twitter.com/intent/tweet?url=https://${ch5.getVirtualHostForGroup(mtkpaagroup)}/-/${.vars['reserved-article-url-title'].data}" target="_blank" class="fab fa-twitter fimtkteemaartikkelilistasosiaalinenmedia fimtkteemaartikkelilistasosiaalinenmediatwitter ml-3"></a></li>
158 <li><a href="whatsapp://send?text=https://${ch5.getVirtualHostForGroup(mtkpaagroup)}/-/${.vars['reserved-article-url-title'].data}" data-action="share/whatsapp/share" target="_blank" class="fab fa-whatsapp fimtkteemaartikkelilistasosiaalinenmedia fimtkteemaartikkelilistasosiaalinenmediawhatsapp ml-3"></a></li>
159 </ul>
160 </div>
161 </div>
162</#if>
163 <div class="col-11" >
164
165 <@ch5.listArticleThemes/>
166
167 ${ch5.getFilteredContent(bodyText)}
168 <@ch5.memberInfo membersOnly />
169 <#if attachments?has_content>
170 <@ch5.listAttachments attachments />
171 </#if>
172 <#if main_author?? && main_author?has_content>
173 <@ch5.getWebContentHTML main_author />
174 </#if>
175
176 <#if contactPerson1?has_content><#assign contact1 = contactPerson1.getData()></#if>
177 <#if contactPerson2?has_content><#assign contact2 = contactPerson2.getData()></#if>
178 <#if contactPerson3?has_content><#assign contact3 = contactPerson3.getData()></#if>
179
180 <#if contact1?has_content>
181 <@ch5.getWebContentHTML contactPerson1 />
182 </#if>
183 <#if contact2?has_content>
184 <@ch5.getWebContentHTML contactPerson2 />
185 </#if>
186 <#if contact3?has_content>
187 <@ch5.getWebContentHTML contactPerson3 />
188 </#if>
189
190 <#-- <#if article_author?? && article_author?has_content>
191 <#assign contact = article_author.getData()>
192 </#if>
193 <#if contact?has_content>
194 <@ch5.getWebContentHTML article_author />
195 </#if> -->
196
197 <#--<@ch5.listRelatedArticles/>-->
198
199 <#attempt>
200 <p><@ch5.listTags tagBaseUrl="/artikkelit/-/tag/"/><p>
201 <#recover>
202 <pre>
203 ${.error}
204 </pre>
205 </#attempt>
206 </div>
207
208 </div>
209</div>
210
211<#assign url = "https://${ch5.getVirtualHostForGroup(mtkpaagroup)}/-/${.vars['reserved-article-url-title'].data}">
212<@ch5.getogptags title summary url />