An error occurred while processing the template.
Java method "com.liferay.journal.web.asset.JournalArticleAssetRenderer.getTitle(Locale)" threw an exception when invoked on com.liferay.journal.web.asset.JournalArticleAssetRenderer object "com.liferay.journal.web.asset.JournalArticleAssetRenderer@c8a5c7b"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: entryTitle = htmlUtil.escape(assetRen... [in template "20100#20136#173344722" at line 45, column 13] - Reached through: #assign-container [in template "20100#20136#173344722" at line 38, column 13] ----
1<#assign color_scheme = themeDisplay.getColorScheme().getCssClass()>
2<#assign dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] >
3<#assign dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] >
4
5
6<#if !entries?has_content>
7<#if !themeDisplay.isSignedIn()>
8${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)}
9</#if>
10
11<div class="col-md-1 alert alert-info">
12 <!-- <@liferay_ui["message"] key="there-are-no-results" /> -->
13 <h2> <@liferay.language key="LatestNews" /> </h2>
14</div>
15</#if>
16<#assign cnt=0/>
17
18<section>
19
20 <div class="container-fluid g-py-10">
21
22 <div class=" g-mb-30 g-mt-50 text-center">
23 <h2 class="h1 text-uppercase mb-3 g-color-bu-blue font-weight-bold">
24 <#if locale == "ar_SA">
25 الأخبار
26 <#else>
27 News
28 </#if>
29 </h2>
30 <div class="d-inline-block g-width-60 g-py-2 g-bg-bu-green2 g-height-1 mb-3"></div>
31 </div>
32
33 <div class="row p-row g-pl-100 g-pr-100 " >
34
35 <#assign counter1=0>
36
37 <#list entries as entry>
38 <#assign
39 entry = entry
40
41 pdate=entry.getPublishDate()
42
43 assetRenderer = entry.getAssetRenderer()
44
45 entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))
46
47 journalArticle = assetRenderer.getArticle()
48
49 viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))
50 />
51 <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContentByLocale(locale)) />
52 <#assign news_title = docXml.valueOf("//dynamic-element[@name='news_title']/dynamic-content/text()") />
53 <#assign s_image = docXml.valueOf("//dynamic-element[@name='s_image']/dynamic-content/text()") />
54 <#assign b_image = docXml.valueOf("//dynamic-element[@name='b_image']/dynamic-content/text()") />
55 <#assign short_desc = docXml.valueOf("//dynamic-element[@name='short_desc']/dynamic-content/text()") />
56 <#assign category = docXml.valueOf("//dynamic-element[@name='Category']/dynamic-content/text()") />
57 <#assign news_desc = docXml.valueOf("//dynamic-element[@name='news_desc']/dynamic-content/text()") />
58 <#assign CategoryAr_SA = docXml.valueOf("//dynamic-element[@name='CategoryAr_SA']/dynamic-content/text()") />
59
60
61 <#assign urlTitle = journalArticle.getUrlTitle()>
62 <#assign articleId = journalArticle.getArticleId()>
63 <#assign redirect = portalUtil.getCurrentURL(request)>
64
65 <#if s_image?has_content >
66 <#assign s_image = s_image
67 dlFile_hashmap = jsonFactoryUtil.createJSONObject(s_image)
68 uuid = dlFile_hashmap.uuid
69 groupId = dlFile_hashmap.groupId
70 dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid,groupId?number)
71 s_image_url = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'') />
72 </#if>
73
74 <#assign cnt=cnt+1/>
75
76
77 <#if b_image?has_content >
78 <#assign b_image = b_image
79 dlFile_hashmap = jsonFactoryUtil.createJSONObject(b_image)
80 uuid = dlFile_hashmap.uuid
81 groupId = dlFile_hashmap.groupId
82 dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid,groupId?number)
83 b_image_url = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'')
84 />
85 </#if>
86
87 <#assign GroupLocalServiceUtil = staticUtil["com.liferay.portal.kernel.service.GroupLocalServiceUtil"]
88
89 mysite = GroupLocalServiceUtil.getGroup(assetRenderer.getGroupId()).getName()/>
90
91
92
93 <div class=" col-sm-4 ">
94 <!-- Blog Grid Overlap Blocks -->
95
96 <article>
97 <img class="img-fluid w-100" src="${s_image_url}" alt="Image Description" style="height: 367px;">
98 <#if cnt%2==0>
99 <div class="g-width-80x g-pt-20 <#if cnt==1> g-bg-white <#else> g-bg-bu-blue </#if> g-pos-rel g-z-index-1 g-pa-30 g-mt-minus-50 mx-auto u-shadow-v2 rounded-bu <#if cnt==1> g-brd-around g-brd-gray-light-v4 <#else> </#if>" style="height: 270px !important; top: -90px;" >
100
101 <ul class="u-list-inline d-block g-color-gray-dark-v4 g-font-weight-600 g-font-size-12 text-uppercase mb-2">
102 <li class="list-inline-item">
103 <@getMetadataField fieldName="publish-date" />
104 </li>
105 <li class="list-inline-item">/</li>
106 <li class="list-inline-item">
107 <a class="u-link-v5 g-color-gray-dark-v4 g-color-primary--hover" href="/news-archive">
108 <i class="icon-bubbles align-middle"></i>
109 <#if locale == "ar_SA"> ${CategoryAr_SA} <#else> ${category} </#if>
110 </a>
111 </li>
112 </ul>
113 <h2 class="h5 g-font-weight-600 mb-3" style=" overflow: hidden;height:86px;">
114 <a class="u-link-v5 <#if cnt==1> g-color-bu-blue <#else> g-color-white </#if> g-color-primary--hover g-cursor-pointer" href="/full-news/-/asset_publisher/${articleId}?redirect=${redirect}&groupId=${journalArticle.getGroupId()}">${news_title}</a>
115 </h2>
116 <p class="g-color-gray-dark-v4 u-info-v1-1 g-height-50 g-pa-10-30-0">${short_desc}</p>
117 <a class="g-font-size-16 <#if locale == "ar_SA"> fa fa-chevron-left <#else> fa fa-chevron-right</#if> g-pt-10 g-pb-10 g-pl-25 g-pr-25 g-rounded-50<#if cnt==1> g-color-white g-bg-bu-blue <#else> g-bg-white g-color-bu-blue </#if>" href="#"></a>
118 </div>
119 <#else>
120 <div class="g-width-80x g-pt-20 <#if cnt==2> g-bg-bu-blue <#else> g-bg-white </#if> g-pos-rel g-z-index-1 g-pa-30 g-mt-minus-50 mx-auto u-shadow-v2 rounded-bu <#if cnt==2> <#else> g-brd-around g-brd-gray-light-v4 </#if> " style="height: 270px !important; top: -90px;">
121
122 <ul class="u-list-inline d-block g-color-gray-dark-v4 g-font-weight-600 g-font-size-12 text-uppercase mb-2">
123 <li class="list-inline-item">
124 <@getMetadataField fieldName="publish-date" />
125 </li>
126 <li class="list-inline-item">/</li>
127 <li class="list-inline-item">
128 <a class="u-link-v5 g-color-gray-dark-v4 g-color-primary--hover" href="/news-archive">
129 <i class="icon-bubbles align-middle"></i>
130 <#if locale == "ar_SA"> ${CategoryAr_SA} <#else> ${category} </#if>
131 </a>
132 </li>
133 </ul>
134 <h2 class="h5 g-font-weight-600 mb-3" style=" overflow: hidden;height:86px;">
135 <a class="u-link-v5 <#if cnt==2> g-color-white <#else>g-color-bu-blue </#if> g-color-primary--hover g-cursor-pointer" href="/full-news/-/asset_publisher/${articleId}?redirect=${redirect}&groupId=${journalArticle.getGroupId()}">${news_title}</a>
136 </h2>
137 <p class="g-color-gray-dark-v4 u-info-v1-1 g-height-50 g-pa-10-30-0">${short_desc}</p>
138 <a class="g-font-size-16 <#if locale == "ar_SA"> fa fa-chevron-left <#else> fa fa-chevron-right</#if> g-pt-10 g-pb-10 g-pl-25 g-pr-25 g-rounded-50 <#if cnt==2> g-bg-white g-color-bu-blue <#else> g-color-white g-bg-bu-blue </#if>" href="#"></a>
139 </div>
140 </#if>
141 </article>
142
143 <!-- End Blog Grid Overlap Blocks -->
144 </div>
145
146
147
148 <div class="asset-abstract">
149 <div class="pull-right">
150 <@getPrintIcon />
151
152 <@getFlagsIcon />
153
154 <@getEditIcon />
155 </div>
156 </div>
157
158 </#list>
159
160 </div>
161 </div>
162</section>
163<#macro getDiscussion>
164<#if getterUtil.getBoolean(enableComments) && assetRenderer.isCommentable()>
165<br />
166
167<#assign discussionURL = renderResponse.createActionURL() />
168
169${discussionURL.setParameter("javax.portlet.action", "invokeTaglibDiscussion")}
170
171<@liferay_comment["discussion"]
172className=entry.getClassName()
173classPK=entry.getClassPK()
174formAction=discussionURL?string
175formName="fm" + entry.getClassPK()
176ratingsEnabled=getterUtil.getBoolean(enableCommentRatings)
177redirect=currentURL
178userId=assetRenderer.getUserId()
179/>
180</#if>
181</#macro>
182
183<#macro getEditIcon>
184<#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
185<#assign redirectURL = renderResponse.createRenderURL() />
186
187${redirectURL.setParameter("mvcPath", "/add_asset_redirect.jsp")}
188${redirectURL.setWindowState("pop_up")}
189
190<#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
191
192<#if validator.isNotNull(editPortletURL)>
193<#assign title = languageUtil.format(locale, "edit-x", entryTitle, false) />
194
195<@liferay_ui["icon"]
196cssClass="icon-monospaced visible-interaction"
197icon="pencil"
198markupView="lexicon"
199message=title
200url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
201/>
202</#if>
203</#if>
204</#macro>
205
206<#macro getFlagsIcon>
207<#if getterUtil.getBoolean(enableFlags)>
208<@liferay_flags["flags"]
209className=entry.getClassName()
210classPK=entry.getClassPK()
211contentTitle=entry.getTitle(locale)
212label=false
213reportedUserId=entry.getUserId()
214/>
215</#if>
216</#macro>
217
218<#macro getMetadataField
219fieldName
220>
221<#if stringUtil.split(metadataFields)?seq_contains(fieldName)>
222<span class="metadata-entry metadata-${fieldName}">
223 <#assign dateFormat = "dd MMM yyyy" />
224
225 <#if stringUtil.equals(fieldName, "author")>
226 <@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))}
227 <#elseif stringUtil.equals(fieldName, "categories")>
228 <@liferay_asset["asset-categories-summary"]
229 className=entry.getClassName()
230 classPK=entry.getClassPK()
231 portletURL=renderResponse.createRenderURL()
232 />
233
234
235 <#elseif stringUtil.equals(fieldName, "create-date")>
236 ${dateUtil.getDate(entry.getCreateDate(), dateFormat, locale)}
237 <#elseif stringUtil.equals(fieldName, "expiration-date")>
238 ${dateUtil.getDate(entry.getExpirationDate(), dateFormat, locale)}
239 <#elseif stringUtil.equals(fieldName, "modified-date")>
240 ${dateUtil.getDate(entry.getModifiedDate(), dateFormat, locale)}
241 <#elseif stringUtil.equals(fieldName, "priority")>
242 ${entry.getPriority()}
243 <#elseif stringUtil.equals(fieldName, "publish-date")>
244 ${dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)}
245 <#elseif stringUtil.equals(fieldName, "tags")>
246 <@liferay_asset["asset-tags-summary"]
247 className=entry.getClassName()
248 classPK=entry.getClassPK()
249 portletURL=renderResponse.createRenderURL()
250 />
251 <#elseif stringUtil.equals(fieldName, "view-count")>
252 ${entry.getViewCount()} <@liferay.language key="views" />
253 </#if>
254</span>
255</#if>
256</#macro>
257
258<#macro getPrintIcon>
259<#if getterUtil.getBoolean(enablePrint)>
260<#assign printURL = renderResponse.createRenderURL() />
261
262${printURL.setParameter("mvcPath", "/view_content.jsp")}
263${printURL.setParameter("assetEntryId", entry.getEntryId()?string)}
264${printURL.setParameter("viewMode", "print")}
265${printURL.setParameter("type", entry.getAssetRendererFactory().getType())}
266
267<#if assetRenderer.getUrlTitle()?? && validator.isNotNull(assetRenderer.getUrlTitle())>
268<#if assetRenderer.getGroupId() != themeDisplay.getScopeGroupId()>
269${printURL.setParameter("groupId", assetRenderer.getGroupId()?string)}
270</#if>
271
272${printURL.setParameter("urlTitle", assetRenderer.getUrlTitle())}
273</#if>
274
275${printURL.setWindowState("pop_up")}
276
277<@liferay_ui["icon"]
278iconCssClass="icon-print"
279message="print"
280url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "printAsset', title: '" + languageUtil.format(locale, "print-x-x", ["hide-accessible", entryTitle], false) + "', uri: '" + htmlUtil.escapeURL(printURL.toString()) + "'});"
281/>
282</#if>
283</#macro>
284
285<#macro getRatings>
286<#if getterUtil.getBoolean(enableRatings) && assetRenderer.isRatable()>
287<div class="asset-ratings">
288 <@liferay_ui["ratings"]
289 className=entry.getClassName()
290 classPK=entry.getClassPK()
291 />
292</div>
293</#if>
294</#macro>
295
296<#macro getRelatedAssets>
297<#if getterUtil.getBoolean(enableRelatedAssets)>
298<@liferay_asset["asset-links"]
299assetEntryId=entry.getEntryId()
300viewInContext=!stringUtil.equals(assetLinkBehavior, "showFullContent")
301/>
302</#if>
303</#macro>
304
305<#macro getSocialBookmarks>
306<@liferay_social_bookmarks["bookmarks"]
307className=entry.getClassName()
308classPK=entry.getClassPK()
309displayStyle="${socialBookmarksDisplayStyle}"
310target="_blank"
311title=entry.getTitle(locale)
312url=viewURL
313/>
314</#macro>
315
316<style>
317h2.portlet-title-text {
318 display: none;
319}
320
321@media screen and (max-width: 574px) {
322 .container.w-75 {
323 width: 100% !important;
324 padding: 0 !important;
325 }
326 .p-row{
327 padding-left:0 !important;
328 padding-right:0 !important;
329 }
330 .new-te{
331 overflow: hidden !important;
332 height: 145px !important;
333 }
334 .des-tex{
335 display: none !important;
336 }
337}
338
339.g-bg-bu-blue{
340 background: #00265b;
341}
342.rounded-bu{
343 border-radius: 25px;
344}
345
346.g-color-bu-blue{
347 color: #00265b;
348}
349
350</style>