Kogo Szukamy
Wystąpił błąd podczas przetwarzania szablonu.
Java method "com.sun.proxy.$Proxy570.getArticleByUrlTitle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy570 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@1796cc9a"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign journalArticle = journalArtic... [in template "20116#20152#302723" at line 330, column 1] ----
1<#-- start getting entry data -->
2<#assign entryTitle = .vars['reserved-article-title'].data >
3<#assign entryDescription = .vars['reserved-article-description'].data >
4<#assign entryModifiedDate = .vars['reserved-article-modified-date'].data >
5<#assign originalLocale = .locale>
6<#setting locale = 'en_US'>
7<#-- end getting entry data -->
8
9<style>
10
11 .summary__description {
12 font-size: 24px;
13 line-height: 36px;
14 letter-spacing: 0.5px;
15 font-family: "Roboto",sans-serif;
16 margin-bottom: 40px;
17 padding-bottom: 30px;
18 border-bottom: 2px solid #454545;
19 }
20
21
22 .summary__title{
23 font-size: 40px;
24 margin-bottom: 40px;
25 font-weight: bold;
26 }
27
28 .summary__intro-container hr {
29 margin: 0 0 40px 0;
30 }
31
32
33 .summary__collapsable-title{
34 margin: 25px 0;
35 padding: 15px;
36 color: #ffffff;
37 font-size: 16px;
38 letter-spacing: 0.3px;
39 }
40
41 .summary__collapsable-heading{
42 background-color: #f5f5f5;
43 padding: 20px 15px;
44 font-size: 24px;
45 font-weight: 600;
46 margin-bottom: 20px !important;
47 }
48
49 .summary__collapsable-content{
50 padding: 0 30px 30px 30px;
51 }
52
53 .summary__collapsible-arrow, .summary__collapsible-arrow:hover, .summary__collapsible-arrow:focus{
54 color: #1a1c20;
55 }
56
57 .summary__collapsable-image{
58 background-repeat: no-repeat;
59 background-size: contain;
60 height: 100px;
61 margin-bottom: 20px;
62 background-position: center;
63 }
64
65 .container ul li {
66 list-style: none;
67 padding-bottom: 5px;
68 }
69
70 .container ul li::before {
71 content: "» ";
72 }
73
74 .container ul{
75 padding-bottom: 15px;
76 }
77
78 .file-tiles__container{
79 overflow:hidden;
80 padding: 50px 0;
81 }
82
83 .file-tiles--single-file__container{
84 padding: 10px 0;
85 float:left;
86 clear: left;
87 }
88
89 .file-tiles__container .file-tiles--single-file__title{
90 padding: 10px 0 20px 220px;
91 font-size: 1.5em;
92 font-weight: 600;
93 }
94
95 .file-tiles__container .file-tiles--single-file__thumbnail{
96 float:left;
97 }
98
99 .file-tiles--single-file__thumbnail img {
100 width: 200px;
101 }
102
103 .file-tiles__container .file-tiles--single-file__file-link{
104 padding-left: 220px;
105 }
106
107 .file-tiles__container .file-tiles--single-file__file-link a, .body__container a{
108 color: #63A732;
109 }
110
111 .file-tiles__container .file-tiles--single-file__file-link a:hover, .body__container a:hover{
112 color: #6DD125;
113 }
114
115 .file-tiles__container .file-tiles--single-file__thumbnail-image{
116 width: 200px;
117 height: 133px;
118 }
119
120 article li {
121 font-size:16px;
122 font-weight: 300;
123 color:#000;
124 line-height: 150%
125 }
126 @media only screen and (max-width:991px) {
127 article li {
128 font-size: 14px
129 }
130 }
131
132 @media screen and (max-width: 750px){
133 .file-tiles__container .file-tiles--single-file__title {
134 padding: 0 0 20px 220px;
135 }
136 }
137
138 @media screen and (max-width: 500px){
139 .file-tiles__container .file-tiles--single-file__thumbnail-image{
140 width: 130px;
141 height: 86px;
142 }
143
144 .file-tiles__container .file-tiles--single-file__title {
145 padding: 0 0 10px 150px;
146 }
147
148 .file-tiles__container .file-tiles--single-file__file-link{
149 padding-left: 150px;
150 }
151 }
152
153 article{
154 margin-bottom: 40px;
155 }
156
157</style>
158
159 <article class="container">
160 <div class="row" style="margin-top:40px">
161 <div class="col-xs-12 col-sm-12 col-md-offset-2 col-md-8 col-lg-offset-2 col-lg-8">
162 <#if isNotEmptyElement(displayTitle)>
163 <header class="row">
164 <h1 class="summary__title">${displayTitle.getData()}</h1>
165 </header>
166 </#if>
167
168
169
170
171 <div class="row summary__intro-container">
172 <#if isNotEmptyElement(summary)>
173 <div class="col-md-12">
174 <div class="summary__description">
175 ${summary.getData()}
176 </div>
177 </div>
178 <#else>
179 <div class="col-md-12">
180 <hr>
181 </div>
182 </#if>
183 </div>
184
185
186 <#if isNotEmptyElement(body)>
187 <div class="row content-wrapper">
188 <div class="col-xs-12 content-container">
189 ${body.getData()}
190 </div>
191 </div>
192 </#if>
193
194 <#if section?? && section.getSiblings()?has_content>
195 <div class="row">
196 <#list section.getSiblings() as cur_section>
197 <#assign collapsible_index = cur_section.getName() + cur_section_index>
198 <#assign collapsible_title = cur_section.getChild("title") />
199 <#if collapsible_title.getData()?trim != "">
200 <div class="row summary__collapsable-heading b-collapsable__border-left">
201 <div class="col-xs-11">
202 ${collapsible_title.getData()}
203 </div>
204 <div class="col-xs-1">
205 <a class="summary__collapsible-arrow" role="button"
206 data-toggle="collapse" href="#${collapsible_index}"
207 aria-expanded="false" aria-controls="${collapsible_index}">
208 <span class="glyphicon glyphicon-menu-down"
209 aria-hidden="true"></span>
210 </a>
211 </div>
212 </div>
213 </#if>
214 <#assign cur_body = cur_section.getChild("content") />
215 <#if isNotEmptyElement(cur_body) >
216 <div class="collapse row" id="${collapsible_index}" <#if collapsible_title.getData()?trim == "">style="display: block;"</#if> >
217 <div class="summary__collapsable-content" >
218 ${cur_body.getData()}
219 </div>
220 </div>
221 </#if>
222 </#list>
223
224 </div>
225 </#if>
226
227 <#if isNotEmptyElement(linkToPage) >
228 <div class="row">
229 <p>Jeżeli czujesz, że ta praca jest dla Ciebie, kliknij</p>
230 <p>
231 <a class="b-button-link" href="${linkToPage.getData()}">APLIKUJ</a>
232 </p>
233 <p>Informujemy, że wszystkie nadesłane aplikacje zostaną poddane wnikliwej analizie, jednak odpowiemy tylko na wybrane zgłoszenia.</p>
234 </div>
235 </#if>
236
237 <#if files?? && files.getSiblings()?? && files.getSiblings()?has_content>
238 <div class="row file-tiles__container hidden">
239 <#if files.getSiblings()?has_content>
240 <#list files.getSiblings() as cur_file>
241 <#if cur_file.fileLink.getData()?? && cur_file.fileLink.getData() != "">
242 <#assign file_file = cur_file.fileLink.getData() />
243 <div class="file-tiles--single-file__container">
244 <#if cur_file.thumbnailFile.getData()?? && cur_file.thumbnailFile.getData() != "">
245 <p class="file-tiles--single-file__thumbnail"><img class="file-tiles--singleFile__thumbnail-image" src="${cur_file.thumbnailFile.getData()}"/></p>
246 </#if>
247 <#if cur_file.titleFile.getData()?? && cur_file.titleFile.getData() != "">
248 <p class="file-tiles--single-file__title">${cur_file.titleFile.getData()}</p>
249 </#if>
250 <#if cur_file.linkText.getData()?? && cur_file.linkText.getData() != "">
251 <p class="file-tiles--single-file__file-link"><a href="${file_file}" target="_blank">${cur_file.linkText.getData()}</a></p>
252 <#else>
253 <p class="file-tiles--single-file__file-link"><a href="${file_file}" target="_blank">Download file »</a></p>
254 </#if>
255 </div>
256 </#if>
257 </#list>
258 </#if>
259 </div>
260 </#if>
261 </div>
262 </div>
263 </article>
264
265
266
267
268<script>
269 (function(window, $, undefined) {
270 var onReady = function() {
271 var $collapsibleArrows = $('.summary__collapsable-heading > div > a'),
272 $filesContainer = $('.file-tiles__container');
273
274 $collapsibleArrows.on('click', function(event) {
275 event.preventDefault();
276 var $currentSpan = $(this).find('span');
277 var $currentHeading = $(this).closest('div.summary__collapsable-heading');
278
279 if($(this)[0].getAttribute('aria-expanded') == "true"){
280 $currentSpan.removeClass();
281 $currentSpan.addClass("glyphicon glyphicon-menu-down");
282 $currentHeading.css("background-color", "#f5f5f5");
283 } else {
284 $currentSpan.removeClass();
285 $currentSpan.addClass("glyphicon glyphicon-menu-up");
286 $currentHeading.css("background-color", "white");
287 }
288 });
289 //$($collapsibleArrows[0]).trigger('click');
290 //if ( $filesContainer.children().length > 0 ) {
291 // $filesContainer.removeClass('hidden');
292 //}
293 };
294
295 AUI().ready(onReady);
296 })(window, jQuery);
297 </script>
298
299
300
301<#function isNotEmptyElement element>
302 <#return element?? && element.getData()?? && element.getData()!="">
303</#function>
304
305<#-- content group category -->
306<#assign groupId=themeDisplay.getScopeGroupId() ?number>
307<#assign assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
308<#assign categoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
309<#assign portletLocalService=serviceLocator.findService("com.liferay.portal.kernel.service.PortletPreferencesLocalService") />
310<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
311<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
312
313<#assign urlTitle = themeDisplay.getURLCurrent()/>
314<#assign beginIndex = themeDisplay.getURLCurrent()?last_index_of("/")+1 />
315<#assign endIndex = urlTitle?index_of("?fbclid")-1/>
316<!-- Removes facebook tracking code that is added when a PR is open from a link on facebook's website -->
317<#if endIndex gt -1>
318 <#assign urlTitle = urlTitle[beginIndex..endIndex]/>
319<#else>
320 <#assign urlTitle=themeDisplay.getURLCurrent()?substring(themeDisplay.getURLCurrent()?last_index_of("/")+1) />
321</#if>
322
323<#assign parentVocabularyName="Content Groups (GA4)">
324<#assign parentVocabulary= assetVocabularyLocalService.getGroupVocabulary(groupId,parentVocabularyName) />
325<#assign childCategories=categoryLocalService.getVocabularyCategories(parentVocabulary.getVocabularyId(),-1,-1,null)>
326
327<#assign finalCategories="" />
328<#assign articleCategories=[]>
329
330<#assign journalArticle=journalArticleLocalService.getArticleByUrlTitle(groupId,urlTitle) >
331<#assign assetEntry=assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle",journalArticle.getResourcePrimKey()) />
332<#assign articleCategories=assetEntry.getCategories() />
333
334<#list childCategories as category>
335 <#list articleCategories as articleCategory>
336 <#if category.getName() == articleCategory.getName()>
337 <#if finalCategories?has_content>
338 <#assign finalCategories = finalCategories + ", "+(articleCategory.getName()) />
339 <#else>
340 <#assign finalCategories=articleCategory.getName() >
341 </#if>
342
343 </#if>
344 </#list>
345</#list>
346
347<script>
348 var contentGroupElement = $("#content_group");
349
350 if(location.pathname.includes("/-/")) {
351 if(contentGroupElement.length !== 0) contentGroupElement.val("");
352 }
353
354 if("${finalCategories}" !== ""){
355 var elementValue = "${finalCategories}"
356 if(contentGroupElement.length === 0) $("body").append('<input type="hidden" id="content_group" name="content_group" value="'+elementValue+'">')
357 else contentGroupElement.val(elementValue)
358 }
359</script>
360<#-- End content group category -->