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@6a72a869"; 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 67, 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    /> 
31    <#if !summary?has_content> 
32        <#attempt> 
33            <#assign 
34            journalArticle = assetRenderer.getArticle() 
35            journalArticleDisplay = journalArticleLocalService.getArticleDisplay(journalArticle.getGroupId(), journalArticle.getArticleId(), "", l, themeDisplay) 
36            articleContent = journalArticleDisplay.getContent() 
37            summary = htmlUtil.stripHtml(articleContent) 
38            /> 
39        <#recover> 
40            <#assign 
41            journalArticle = assetRenderer.getArticle() 
42            /> 
43        </#attempt> 
44    </#if> 
45 
46    <#if imageUrl?has_content> 
47        <#assign contentMaxLength = 200 /> 
48    <#else> 
49        <#assign contentMaxLength = 350 /> 
50    </#if> 
51 
52    <div class="row"> 
53        <#if imageUrl?has_content> 
54            <div class="nnk_article-list-image col-12 col-lg-4 p-0 m-0 text-center align-self-center"> 
55                <img src="${imageUrl}" 
56                     alt="<@liferay.language key='nnk.article.image-alt' /> ${entryTitle}" 
57                     class="nnk-article-list-article-img img-fluid rounded"> 
58            </div> 
59            <div class="nnk-article-list-article-content col-12 col-lg-8 px-0 px-lg-3 align-self-start"> 
60        <#else> 
61            <div class="nnk-article-list-article-content col-12 p-0"> 
62        </#if> 
63 
64                <@getEditIcon /> 
65 
66                <span class="nnk-article-list-article-publish-date text-3"> 
67                    ${dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)} 
68                </span> 
69 
70                <div class="nnk-article-link-underline"> 
71                    <a href="${viewURL}"> 
72                        <h3 class="my-2 text-5">${entryTitle}</h3> 
73                    </a> 
74 
75                    <div class="nnk-article-list-article-metadata pb-3"> 
76                        <@getMetadataField fieldName = "create-date" /> 
77                        <@getMetadataField fieldName = "author" /> 
78                        <@getMetadataField fieldName = "modified-date" /> 
79                        <@getMetadataField fieldName = "expiration-date" /> 
80                        <@getMetadataField fieldName = "view-count" /> 
81											  <@getMetadataField fieldName = "tags" /> 
82											  <@getMetadataField fieldName = "categories" /> 
83                    </div> 
84 
85                    <div class="nnk-article-list-article-summary"> 
86                        <p> 
87                           	${stringUtil.shorten((summary?replace("\\s\\&imagePreview=1", "", "r")), contentMaxLength)} 
88                        </p> 
89                    </div> 
90                </div> 
91            </div> 
92    </div> 
93</#macro> 
94 
95<#macro getEditIcon> 
96    <#attempt> 
97        <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())> 
98            <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse.getResponse(), windowStateFactory.getWindowState("NORMAL"), themeDisplay.getURLCurrent())!"" /> 
99 
100            <#if validator.isNotNull(editPortletURL)> 
101                <#assign title = languageUtil.format(locale, "edit-x", htmlUtil.escape(assetRenderer.getTitle(locale)), false) /> 
102                <@liferay_ui["icon"] 
103                    cssClass="icon-monospaced visible-interaction float-right" 
104                    icon="pencil" 
105                    markupView="lexicon" 
106                    message=title 
107                    url=editPortletURL.toString() 
108                /> 
109            </#if> 
110        </#if> 
111    <#recover> 
112    </#attempt> 
113</#macro> 
114 
115<#macro getMetadataField fieldName> 
116    <#if stringUtil.split(metadataFields)?seq_contains(fieldName)> 
117        <span class="nnk-article-list-article-metadata-entry metadata-${fieldName} text-3"> 
118            <#assign dateFormat = "dd.MM.yyyy" /> 
119 
120            <#if stringUtil.equals(fieldName, "author")> 
121                <@liferay.language key="nnk.asset.publisher.info.author"/> 
122               <strong> 
123                    <#attempt> 
124                        <#assign authorName = extendedJournalArticleLocalService.getArticleFieldValue(entry.getClassPK(), "author", themeDisplay.getLanguageId()) /> 
125                    <#recover> 
126                        <#assign authorName = "" /> 
127                    </#attempt>                    <#if authorName?has_content> 
128                        ${authorName} 
129                    <#else> 
130                        ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))} 
131                    </#if> 
132                </strong> 
133                <br/> 
134 
135            <#elseif stringUtil.equals(fieldName, "modified-date")> 
136                <@liferay.language key="nnk.asset.publisher.info.modified"/> 
137                <strong>${entry.getModifiedDate()?string(dateFormat)}</strong> 
138                <br/> 
139 
140            <#elseif stringUtil.equals(fieldName, "publish-date")> 
141                <@liferay.language key="nnk.asset.publisher.info.published"/> 
142                <strong>${entry.getPublishDate()?string(dateFormat)}</strong> 
143                <br/> 
144 
145            <#elseif stringUtil.equals(fieldName, "create-date")> 
146                <@liferay.language key="nnk.asset.publisher.info.created"/> 
147                <strong>${entry.getCreateDate()?string(dateFormat)}</strong> 
148                <br/> 
149 
150            <#elseif stringUtil.equals(fieldName, "expiration-date")> 
151                <@liferay.language key="nnk.asset.publisher.info.expired"/> 
152                <#if entry.getExpirationDate()?has_content> 
153                    <strong>${entry.getExpirationDate()?string(dateFormat)}</strong> 
154                </#if> 
155                <br/> 
156 
157            <#elseif stringUtil.equals(fieldName, "view-count")> 
158                <@liferay.language key="nnk.asset.publisher.info.views"/> 
159                <strong>${entry.getViewCount()}</strong> 
160                <br/> 
161 
162            <#elseif stringUtil.equals(fieldName, "tags") && entry.getTags()?has_content> 
163							  <span class="metadata-main-label"><@liferay_ui["message"] key="tags" />:</span> 
164                <@liferay_asset["asset-tags-summary"] 
165                    className=entry.getClassName() 
166                    classPK=entry.getClassPK() 
167                    portletURL=renderResponse.createRenderURL() 
168                /> 
169 
170						<#elseif stringUtil.equals(fieldName, "categories") && entry.getCategories()?has_content> 
171							 <span class="metadata-main-label"><@liferay_ui["message"] key="categories" />:</span> 
172               <@liferay_asset["asset-categories-summary"] 
173                   className=entry.getClassName() 
174                   classPK=entry.getClassPK() 
175                   displayStyle="simple-category" 
176                   portletURL=renderResponse.createRenderURL() 
177               /> 
178            </#if> 
179        </span> 
180    </#if> 
181</#macro>