Deanship of Preparatory Year - Najran University - Deanship of Preparatory Year Guideline

An error occurred while processing the template.
The following has evaluated to null or missing: ==> renderer.getArticle [in template "10112#17493303#124100078" at line 19, column 66] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: journalArticle = renderer.getArticle() [in template "10112#17493303#124100078" at line 19, column 49] ----
1<#assign language = themeDisplay.getURLCurrent() />
2<#if language == '/en/'>
3 <#assign more = 'More'/>
4 <#else>
5 <#assign more = 'اقراء المزيد'/>
6</#if>
7<#assign portal_url = themeDisplay.getURLPortal() />
8<#assign group_id = themeDisplay.getScopeGroupId() />
9 <div class="container">
10 <div class="row">
11 <div class="col-md-12">
12
13 <div id="news-slider11" class="owl-carousel" data-loop="true" data-items="4" data-autoplay="true" data-hoverpause="true" data-autoplay-timeout="5000" data-smart-speed="800" data-dots="false" data-nav="false" data-nav-speed="false" data-center-mode="false" data-mobile-device="1" data-mobile-device-nav="false" data-mobile-device-dots="false" data-ipad-device="2" data-ipad-device-nav="false" data-ipad-device-dots="false" data-ipad-device2="1" data-ipad-device-nav2="false" data-ipad-device-dots2="false" data-md-device="3" data-md-device-nav="false" data-md-device-dots="false">
14
15<#if entries?has_content>
16
17<#list entries as curEntry>
18 <#assign renderer = curEntry.getAssetRenderer()
19 journalArticle = renderer.getArticle()
20 curEntryURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, renderer, curEntry, false)
21 />
22 <#assign className = renderer.getClassName() />
23 <#if className == "com.liferay.journal.model.JournalArticle">
24 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) />
25 <#assign link = renderer.getURLViewInContext(renderRequest,renderResponse,viewURL) />
26 <#assign
27 entry = curEntry
28
29 assetRenderer = entry.getAssetRenderer()
30
31 entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))
32
33 viewURLxx = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))
34 />
35
36 <#assign article = renderer.getArticle() />
37 <#assign articleTitle = curEntry.getTitle(locale) />
38 <#assign shortTitle = stringUtil.shorten(articleTitle, 35) />
39 <#assign img = '/image/layout_set_logo?img_id=19061708&t=1609833625944' />
40 <#if article.getArticleImageURL(themeDisplay)?has_content>
41 <#assign img = article.getArticleImageURL(themeDisplay) />
42 </#if>
43 <#assign articleContent = article.getContent() />
44 <#assign doc = saxReaderUtil.read(articleContent) />
45 <#assign rootElement = doc.getRootElement() />
46
47 <#assign summary = article.getDescription() />
48 <#assign summary = stringUtil.shorten(summary, 220) />
49 <#assign articleTitle = stringUtil.shorten(articleTitle, 30) />
50
51 <#assign siteName = themeDisplay.getLayout().getGroup().getName() />
52 <#if siteName == 'Guest'>
53 <#assign siteName = 'home' />
54 </#if>
55
56 <#assign urlTitle = article.getUrlTitle() />
57 <#assign instanceID = themeDisplay.getPortletDisplay().getInstanceId() />
58 <#assign groupID = themeDisplay.getScopeGroupId() />
59 <#assign fUrl = layout.getGroup().friendlyURL />
60 <#assign pageName = layout.getName('en_US') />
61
62 <#assign link = '/' + 'web' + fUrl + '/' + pageName + '/-/asset_publisher/' + instanceID + '/content/' + urlTitle + '/' + groupID + '/' + 'maximized' />
63
64 <#assign archive_link = '/' + 'web' + fUrl + '/' + 'archive-news' />
65 <#assign curEntryURLMaximized = curEntryURL?split("?")[0] + '/maximized' />
66
67
68
69 <div class="post-slide11">
70 <div class="post-img wow fadeInDown" data-wow-duration="1000ms">
71 <span class="over-layer"></span>
72 <img src="${img}" alt="" style="height: 200px;">
73 </div>
74 <h3 class="post-title wow fadeInUp" data-wow-duration="1000ms" style="min-height: 150px;">
75 <@getEditIcon /> <a href="${curEntryURLMaximized}"> ${curEntry.getTitle(locale)} </a>
76 </h3>
77 <span class="post-date wow fadeInUp" data-wow-duration="2000ms" style="border-top: 1px solid #dcdfe6;"><i class="fa fa-calendar"></i> <@getMetadataField fieldName="create-date" /> <@getMetadataField fieldName="view-count" /></span>
78
79
80 </div>
81
82 </#if>
83 </#list>
84</#if>
85<#if !entries?has_content>
86 <#if !themeDisplay.isSignedIn()>
87 ${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)}
88 </#if>
89
90 <div class="alert alert-info">
91 <@liferay_ui["message"] key="there-are-no-results" />
92 </div>
93</#if>
94
95
96
97
98 </div>
99 </div>
100 </div>
101 <!-- Blog Section End -->
102 </div>
103 <!-- Section bg Wrap 2 End -->
104
105
106<#macro getDiscussion>
107 <#if getterUtil.getBoolean(enableComments) && assetRenderer.isCommentable()>
108 <br />
109
110 <@liferay_comment["discussion"]
111 className=entry.getClassName()
112 classPK=entry.getClassPK()
113 formName="fm" + entry.getClassPK()
114 ratingsEnabled=getterUtil.getBoolean(enableCommentRatings)
115 redirect=currentURL
116 userId=assetRenderer.getUserId()
117 />
118 </#if>
119</#macro>
120
121<#macro getEditIcon>
122 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
123 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("NORMAL"), themeDisplay.getURLCurrent())!"" />
124
125 <#if validator.isNotNull(editPortletURL)>
126 <#assign title = languageUtil.format(locale, "edit-x", entryTitle, false) />
127
128 <@liferay_ui["icon"]
129 cssClass="icon-monospaced visible-interaction"
130 icon="pencil"
131 markupView="lexicon"
132 message=title
133 url=editPortletURL.toString()
134 />
135 </#if>
136 </#if>
137</#macro>
138
139<#macro getFlagsIcon>
140 <#if getterUtil.getBoolean(enableFlags)>
141 <@liferay_flags["flags"]
142 className=entry.getClassName()
143 classPK=entry.getClassPK()
144 contentTitle=entry.getTitle(locale)
145 label=false
146 reportedUserId=entry.getUserId()
147 />
148 </#if>
149</#macro>
150
151<#macro getMetadataField
152 fieldName
153>
154 <#if stringUtil.split(metadataFields)?seq_contains(fieldName)>
155 <span class="metadata-entry metadata-${fieldName}">
156 <#assign dateFormat = "dd MMM yyyy - HH:mm:ss" />
157
158 <#if stringUtil.equals(fieldName, "author")>
159 <@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))}
160 <#elseif stringUtil.equals(fieldName, "categories")>
161 <@liferay_asset["asset-categories-summary"]
162 className=entry.getClassName()
163 classPK=entry.getClassPK()
164 portletURL=renderResponse.createRenderURL()
165 />
166 <#elseif stringUtil.equals(fieldName, "create-date")>
167 ${dateUtil.getDate(entry.getCreateDate(), dateFormat, locale)}
168 <#elseif stringUtil.equals(fieldName, "expiration-date")>
169 ${dateUtil.getDate(entry.getExpirationDate(), dateFormat, locale)}
170 <#elseif stringUtil.equals(fieldName, "modified-date")>
171 ${dateUtil.getDate(entry.getModifiedDate(), dateFormat, locale)}
172 <#elseif stringUtil.equals(fieldName, "priority")>
173 ${entry.getPriority()}
174 <#elseif stringUtil.equals(fieldName, "publish-date")>
175 ${dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)}
176 <#elseif stringUtil.equals(fieldName, "tags")>
177 <@liferay_asset["asset-tags-summary"]
178 className=entry.getClassName()
179 classPK=entry.getClassPK()
180 portletURL=renderResponse.createRenderURL()
181 />
182 <#elseif stringUtil.equals(fieldName, "view-count")>
183 ${entry.getViewCount()} <@liferay.language key="views" />
184 </#if>
185 </span>
186 </#if>
187</#macro>
188
189<#macro getPrintIcon>
190 <#if getterUtil.getBoolean(enablePrint)>
191 <#assign printURL = renderResponse.createRenderURL() />
192
193 ${printURL.setParameter("mvcPath", "/view_content.jsp")}
194 ${printURL.setParameter("assetEntryId", entry.getEntryId()?string)}
195 ${printURL.setParameter("viewMode", "print")}
196 ${printURL.setParameter("type", entry.getAssetRendererFactory().getType())}
197 ${printURL.setWindowState("pop_up")}
198
199 <@liferay_ui["icon"]
200 icon="print"
201 markupView="lexicon"
202 message="print"
203 url="javascript:Liferay.Util.openModal({headerHTML: '" + languageUtil.format(locale, "print-x-x", ["hide-accessible", entryTitle], false) + "', id:'" + renderResponse.getNamespace() + "printAsset', url: '" + htmlUtil.escapeURL(printURL.toString()) + "'});"
204 />
205 </#if>
206</#macro>
207
208<#macro getRatings>
209 <#if getterUtil.getBoolean(enableRatings) && assetRenderer.isRatable()>
210 <div class="asset-ratings">
211 <@liferay_ui["ratings"]
212 className=entry.getClassName()
213 classPK=entry.getClassPK()
214 />
215 </div>
216 </#if>
217</#macro>
218
219<#macro getRelatedAssets>
220 <#if getterUtil.getBoolean(enableRelatedAssets)>
221 <@liferay_asset["asset-links"]
222 assetEntryId=entry.getEntryId()
223 viewInContext=!stringUtil.equals(assetLinkBehavior, "showFullContent")
224 />
225 </#if>
226</#macro>
227
228<#macro getSocialBookmarks>
229 <@liferay_social_bookmarks["bookmarks"]
230 className=entry.getClassName()
231 classPK=entry.getClassPK()
232 displayStyle="${socialBookmarksDisplayStyle}"
233 target="_blank"
234 title=entry.getTitle(locale)
235 types="${socialBookmarksTypes}"
236 url=viewURL
237 />
238</#macro>
239<style>
240.post-slide11 {
241 min-height: 430px;
242}
243
244</style>