Aktualności

Wystąpił błąd podczas przetwarzania szablonu.
Java method "com.liferay.portal.kernel.util.DateUtil_IW.getDate(Date, String, Locale)" threw an exception when invoked on com.liferay.portal.kernel.util.DateUtil_IW object "com.liferay.portal.kernel.util.DateUtil_IW@4268eff"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${dateUtil.getDate(entry.getPublishDa...  [in template "10202#10240#31273065" in macro "getArticle" at line 95, column 21]
	- Reached through: @getArticle entry=entry  [in template "10202#10240#31273065" at line 16, column 15]
----
1<#if !entries?has_content> 
2    <#if !themeDisplay.isSignedIn()> 
3        ${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)} 
4    </#if> 
5    <div class="alert alert-info"> 
6        <@liferay_ui["message"] key="there-are-no-results" /> 
7    </div> 
8<#else> 
9    <#assign 
10        dateFormat = "dd.MM.yyyy" 
11        journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
12    /> 
13    <div class="nnk-article-list d-flex flex-wrap flex-column gy-5 flex-sm-row"> 
14        <#list entries as entry> 
15            <#if entry.getAssetRenderer()??> 
16              <@getArticle entry=entry /> 
17            </#if> 
18        </#list> 
19    </div> 
20</#if> 
21 
22<#macro getArticle entry> 
23    <#assign 
24        entry = entry 
25        assetRenderer = entry.getAssetRenderer() 
26        entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) 
27        summary = assetRenderer.getSummary(renderRequest, renderResponse.getResponse()) 
28        viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse.getResponse(), assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) 
29        imageUrl = assetRenderer.getURLImagePreview(renderRequest)!"" 
30				imageAlt = "" 
31				journalArticle = assetRenderer.getArticle() 
32				smallImageSource = journalArticle.getSmallImageSource() 
33				smallImageId = journalArticle.getSmallImageId() 
34    /> 
35	  <#if smallImageSource == 2 && smallImageId??>  
36			  <#attempt> 
37            <#assign dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") /> 
38            <#assign fileEntry = dlAppLocalService.getFileEntry(smallImageId) /> 
39            <#assign imageAlt = extendedFileEntryLocalService.getAlt(fileEntry, locale) /> 
40        <#recover> 
41            <#assign imageAlt = "" /> 
42        </#attempt> 
43		</#if> 
44    <#if !summary?has_content> 
45        <#attempt> 
46            <#assign 
47						 
48            journalArticleDisplay = journalArticleLocalService.getArticleDisplay(journalArticle.getGroupId(), journalArticle.getArticleId(), "", l, themeDisplay) 
49            articleContent = journalArticleDisplay.getContent() 
50            summary = htmlUtil.stripHtml(articleContent) 
51            /> 
52        <#recover> 
53            <#assign 
54            journalArticle = assetRenderer.getArticle() 
55            /> 
56        </#attempt> 
57    </#if> 
58			   
59    <#if !summary?has_content> 
60        <#attempt> 
61            <#assign 
62            journalArticle = assetRenderer.getArticle() 
63            journalArticleDisplay = journalArticleLocalService.getArticleDisplay(journalArticle.getGroupId(), journalArticle.getArticleId(), "", l, themeDisplay) 
64            articleContent = journalArticleDisplay.getContent() 
65            summary = htmlUtil.stripHtml(articleContent) 
66            /> 
67        <#recover> 
68            <#assign 
69            journalArticle = assetRenderer.getArticle() 
70            /> 
71        </#attempt> 
72    </#if> 
73 
74    <#if imageUrl?has_content> 
75        <#assign contentMaxLength = 200 /> 
76    <#else> 
77        <#assign contentMaxLength = 350 /> 
78    </#if> 
79 
80    <div class="row"> 
81        <#if imageUrl?has_content> 
82            <div class="nnk_article-list-image col-12 col-lg-4 p-0 m-0 text-center align-self-center"> 
83                <img src="${imageUrl}" 
84                     class="nnk-article-list-article-img img-fluid rounded" 
85										 alt="${imageAlt!''}"> 
86            </div> 
87            <div class="nnk-article-list-article-content col-12 col-lg-8 px-0 px-lg-3 align-self-start"> 
88        <#else> 
89            <div class="nnk-article-list-article-content col-12 p-0"> 
90        </#if> 
91 
92                <@getEditIcon /> 
93 
94                <span class="nnk-article-list-article-publish-date text-3"> 
95                    ${dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)} 
96                </span> 
97 
98                <div class="nnk-article-link-underline"> 
99                    <a href="${viewURL}"> 
100                        <h3 class="my-2 text-5">${entryTitle}</h3> 
101                    </a> 
102 
103                    <div class="nnk-article-list-article-metadata pb-3"> 
104                        <@getMetadataField fieldName = "create-date" /> 
105                        <@getMetadataField fieldName = "author" /> 
106                        <@getMetadataField fieldName = "modified-date" /> 
107                        <@getMetadataField fieldName = "expiration-date" /> 
108                        <@getMetadataField fieldName = "view-count" /> 
109											  <@getMetadataField fieldName = "tags" /> 
110											  <@getMetadataField fieldName = "categories" /> 
111                    </div> 
112 
113                    <div class="nnk-article-list-article-summary"> 
114                        <p> 
115                           	${stringUtil.shorten((summary?replace("\\s\\&imagePreview=1", "", "r")), contentMaxLength)} 
116                        </p> 
117                    </div> 
118                </div> 
119            </div> 
120    </div> 
121</#macro> 
122 
123<#macro getEditIcon> 
124    <#attempt> 
125        <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())> 
126            <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse.getResponse(), windowStateFactory.getWindowState("NORMAL"), themeDisplay.getURLCurrent())!"" /> 
127 
128            <#if validator.isNotNull(editPortletURL)> 
129                <#assign title = languageUtil.format(locale, "edit-x", htmlUtil.escape(assetRenderer.getTitle(locale)), false) /> 
130                <@liferay_ui["icon"] 
131                    cssClass="icon-monospaced visible-interaction float-right" 
132                    icon="pencil" 
133                    markupView="lexicon" 
134                    message=title 
135                    url=editPortletURL.toString() 
136                /> 
137            </#if> 
138        </#if> 
139    <#recover> 
140    </#attempt> 
141</#macro> 
142 
143<#macro getMetadataField fieldName> 
144    <#if stringUtil.split(metadataFields)?seq_contains(fieldName)> 
145        <span class="nnk-article-list-article-metadata-entry metadata-${fieldName} text-3"> 
146            <#assign dateFormat = "dd.MM.yyyy" /> 
147 
148            <#if stringUtil.equals(fieldName, "author")> 
149                <@liferay.language key="nnk.asset.publisher.info.author"/> 
150               <strong> 
151                    <#attempt> 
152                        <#assign authorName = extendedJournalArticleLocalService.getArticleFieldValue(entry.getClassPK(), "author", themeDisplay.getLanguageId()) /> 
153                    <#recover> 
154                        <#assign authorName = "" /> 
155                    </#attempt>                    <#if authorName?has_content> 
156                        ${authorName} 
157                    <#else> 
158                        ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))} 
159                    </#if> 
160                </strong> 
161                <br/> 
162 
163            <#elseif stringUtil.equals(fieldName, "modified-date")> 
164                <@liferay.language key="nnk.asset.publisher.info.modified"/> 
165                <strong>${entry.getModifiedDate()?string(dateFormat)}</strong> 
166                <br/> 
167 
168            <#elseif stringUtil.equals(fieldName, "publish-date")> 
169                <@liferay.language key="nnk.asset.publisher.info.published"/> 
170                <strong>${entry.getPublishDate()?string(dateFormat)}</strong> 
171                <br/> 
172 
173            <#elseif stringUtil.equals(fieldName, "create-date")> 
174                <@liferay.language key="nnk.asset.publisher.info.created"/> 
175                <strong>${entry.getCreateDate()?string(dateFormat)}</strong> 
176                <br/> 
177 
178            <#elseif stringUtil.equals(fieldName, "expiration-date")> 
179                <@liferay.language key="nnk.asset.publisher.info.expired"/> 
180                <#if entry.getExpirationDate()?has_content> 
181                    <strong>${entry.getExpirationDate()?string(dateFormat)}</strong> 
182                </#if> 
183                <br/> 
184 
185            <#elseif stringUtil.equals(fieldName, "view-count")> 
186                <@liferay.language key="nnk.asset.publisher.info.views"/> 
187                <strong>${entry.getViewCount()}</strong> 
188                <br/> 
189 
190            <#elseif stringUtil.equals(fieldName, "tags") && entry.getTags()?has_content> 
191							  <span class="metadata-main-label"><@liferay_ui["message"] key="tags" />:</span> 
192                <@liferay_asset["asset-tags-summary"] 
193                    className=entry.getClassName() 
194                    classPK=entry.getClassPK() 
195                    portletURL=renderResponse.createRenderURL() 
196                /> 
197 
198						<#elseif stringUtil.equals(fieldName, "categories") && entry.getCategories()?has_content> 
199							 <span class="metadata-main-label"><@liferay_ui["message"] key="categories" />:</span> 
200               <@liferay_asset["asset-categories-summary"] 
201                   className=entry.getClassName() 
202                   classPK=entry.getClassPK() 
203                   displayStyle="simple-category" 
204                   portletURL=renderResponse.createRenderURL() 
205               /> 
206            </#if> 
207        </span> 
208    </#if> 
209</#macro>