An error occurred while processing the template.
Java method "com.sun.proxy.$Proxy169.getCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy169 object "com.swt.portal.servicewrappers.AssetCategoryServiceOverride@76b0447b"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: category = AssetCategoryService.getCa...  [in template "20115#20151#33165" at line 174, column 17]
	- Reached through: #assign-container  [in template "20115#20151#33165" at line 172, column 9]
----
1<style scope> 
2 
3     
4    .taglib-categorization-filter{ 
5    display:none 
6
7    .article-title{ 
8        color: #0b5090; 
9        text-decoration: none !important; 
10        font-weight: bold; 
11        padding: 0; 
12        font-weight: bold; 
13        margin-bottom: 5px 
14
15    .article-img{ 
16        padding: 0; 
17
18    .article-description{ 
19        padding-left: 10px; 
20        text-align: justify; 
21
22    .article-container{ 
23        padding: 0; 
24        margin-bottom: 15px; 
25
26    .article-title a{ 
27    color: #0b5090; 
28
29    .list-container{ 
30        font-size: 14px; 
31
32    .publish-date{ 
33        font-weight: bold; 
34        color: grey; 
35
36    .cms-title-category a{ 
37        color: #d70000; 
38        font-weight: bold; 
39
40    .title-category-container{ 
41        padding: 12px 0px 10px 12px; 
42        border-bottom: 1px dotted #CBCBCB; 
43        margin-bottom: 10px; 
44        background: linear-gradient(#e9e9e9, #fbfbfb); 
45
46    .search-date{ 
47        padding: 0; 
48		float: left; 
49		margin: 0 0 8px -24px; 
50		display: flex; 
51
52    .search-lable{ 
53        text-align: right; 
54        padding: 8px; 
55        font-weight: bold; 
56
57    .search-input{ 
58        padding: 4px 1px 5px 5px; 
59
60	#dateSearch { 
61		height: 24px; 
62		border: 1px solid #C8C9CA; 
63		border-radius: 4px; 
64		background: #fff; 
65		width: 133px; 
66
67	.btn-primary { 
68		background-color: #337ab7; 
69		height: 24px; 
70		position: relative; 
71		top: 4px; 
72		width: 56px; 
73		left: 43px; 
74		border: 1px solid; 
75		border-color: #C8C9CA #9E9E9E #9E9E9E #C8C9CA; 
76		background: linear-gradient(#ffffff, #f2f2f2, #dedede, #d9d9d9); 
77		Font-size: 12px; 
78		font-weight: bold; 
79		color: #2c6c97; 
80		padding: 3px; 
81
82	.taglib-page-iterator { 
83		padding: 0 15px; 
84
85	.lfr-icon-menu-text, .search-results, .lfr-pagination-buttons{ 
86		font-size: 12px; 
87
88		.btn:hover { 
89		border: 1px solid #204d74; 
90
91	.btn-primary:active:hover{ 
92		color: #2c6c97; 
93		border: 1px solid; 
94		border-color: #C8C9CA #9E9E9E #9E9E9E #C8C9CA; 
95
96	.taglib-page-iterator{ 
97		padding: 0 15px; 
98
99	.taglib-page-iterator .search-results, .lfr-pagination-buttons, .lfr-icon-menu-text{ 
100		font-size: 12px; 
101
102	 
103	.search-results, .lfr-pagination-delta-selector{ 
104		display: none !important; 
105
106	 
107	.clearfix{ 
108		display: flex; 
109
110	 
111	.lfr-pagination-buttons{ 
112		margin: 10px 0 0 auto !important; 
113
114	 
115	 
116	@media only screen and (max-width: 767px){ 
117		.list-container { 
118			padding: 6px; 
119
120		.article-container { 
121			margin-top: 0; 
122			border-bottom: 1px dashed #cbcbcb; 
123
124		.search-button{ 
125			padding: 0; 
126
127		.search-button .btn-primary{ 
128			left: 0; 
129
130		.search-lable { 
131			text-align: left; 
132			padding: 8px 0 0 6px; 
133
134		.search-date{ 
135			margin: 0; 
136
137		.taglib-page-iterator{ 
138			padding: 0 6px; 
139
140		.taglib-page-iterator .lfr-pagination-buttons{ 
141			display: flex; 
142
143		.taglib-page-iterator .lfr-pagination-buttons>li>a{ 
144			width: 99%; 
145			border-radius: 4px; 
146
147		.taglib-page-iterator .lfr-pagination-config .current-page-menu .btn{ 
148			margin: 0 0 5px 0; 
149
150		.search-results{ 
151			display: none !important; 
152			line-height: 35px !important; 
153			color: #9e9e9e; 
154
155 
156		.clearfix{ 
157	    	display: unset; 
158
159
160</style> 
161 
162<#--firstCategoryId là gia trị được truyền từ template Danh sách tin tuc , và nó dùng làm chuyên mục chính--> 
163<#assign firstCategoryId = paramUtil.getString(renderRequest, "categoryId") /> 
164<#assign httpRequest = portalUtil.getOriginalServletRequest(portalUtil.getHttpServletRequest(renderRequest))> 
165<#assign AssetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService")> 
166<#assign dateSearch = getterUtil.getString(httpRequest.getParameter("p_r_p_date")) 
167		idCategory = "" 
168		nameCategory = "Tin tức" 
169/> 
170 
171<#if (firstCategoryId != "")> 
172	<#assign 
173		idCategory = firstCategoryId 
174		category = AssetCategoryService.getCategory(idCategory?number) 
175		nameCategory = category.getName() 
176	/> 
177<#else> 
178    <#assign idCategory = getterUtil.getString(httpRequest.getParameter("p_r_p_categoryId"))> 
179    <#if (idCategory?length > 0) > 
180        <#assign 
181            category = AssetCategoryService.getCategory(idCategory?number) 
182		    nameCategory = category.getName() 
183		/> 
184    </#if> 
185</#if> 
186 
187<!--<h2 class="portlet-title-text">  
188	<img class="portlet-title-icon" alt="title" src="/o/hcm-default-theme/images/imageVanBan/iconTitle.jpg">  
189	<span>${nameCategory}</span> 
190</h2> 
191--> 
192<div class="row row-swt-responsive"> 
193	<div class="col-md-12 list-container"> 
194	    <#if entries?has_content> 
195	        <#if validator.isNull(dateSearch)> 
196	            <#assign listToShow = entries > 
197	        <#else> 
198				<#assign dateSearch = htmlUtil.escape(dateSearch) /> 
199	            <#assign listToShow = [] > 
200	            <#list entries?chunk(1) as i> 
201	                <#assign dateSearch_DateObj = dateUtil.parseDate("yyyy-MM-dd", dateSearch, locale) /> 
202    	            <#assign curEntryDate = i?first.getPublishDate() /> 
203    	            <#if dateSearch_DateObj?date?string.short?contains(curEntryDate?date?string.short) > 
204    	                <#assign listToShow = listToShow + i> 
205    	            </#if> 
206	            </#list> 
207	        </#if> 
208	        <#list listToShow as curEntry> 
209	            <#assign  
210	                curEntry = curEntry 
211	             
212				    renderer = curEntry.getAssetRenderer() 
213				    article = renderer.getArticle() > 
214				 
215				<#assign firstImgUrl = "" /> 
216				 
217			    <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
218			    <#assign journalArticle = journalArticleLocalService.fetchLatestArticle(curEntry.getClassPK()) /> 
219			    <#assign entryTitle = htmlUtil.escape(renderer.getTitle(locale)) /> 
220				 
221				<#if validator.isNotNull(journalArticle)> 
222					<#assign  content = journalArticle.getContent() />							 
223					<#if content?contains("<img")> 
224						<#assign  firstIndexImg = content?index_of("<img") /> 
225					    <#assign  newContent = content?substring(firstIndexImg)/> 
226						<#assign  lastIndexImg = newContent?index_of(">") /> 
227						<#assign  newContent = newContent?substring(0, lastIndexImg)/> 
228						 
229						<#assign strLenght= "src=\"" /> 
230						<#assign  indexSrc = newContent?index_of(strLenght) + strLenght?length /> 
231						<#assign firstImgUrl = newContent?substring(indexSrc) />								 
232						<#assign  lastIndexSrc = firstImgUrl?index_of("\"") /> 
233						<#assign firstImgUrl = firstImgUrl?substring(0,lastIndexSrc) />								 
234					</#if>														 
235				</#if> 
236				 
237				 
238				<#if article.getSmallImage()> 
239    			    <#assign imgThumbnailURL = renderer.getThumbnailPath(renderRequest)> 
240    			    <#elseif (firstImgUrl?length > 0)> 
241						  <#assign imgThumbnailURL = firstImgUrl>  
242    				<#else> 
243    				<#assign imgThumbnailURL = "/o/hcm-default-theme/images/cms/no-image.jpg" > 
244				</#if> 
245				 
246				<#assign publishDate = curEntry.getCreateDate() /> 
247				<#if (curEntry.getPublishDate()??) > 
248					<#assign publishDate = curEntry.getPublishDate() /> 
249				</#if> 
250				 
251				<#assign publishDate_txt = "(" + publishDate?date?string["dd/MM/yyyy"] + ")" /> 
252				<#assign urlArticle = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, renderer, curEntry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) /> 
253				 
254				<div class="col-md-12 article-container"> 
255				    <div class="col-md-12 article-title"> 
256	                    <a href="${urlArticle}"> 
257	                        ${article.getTitle()?replace('<[^>]+>','','r')} <span class="publish-date">${publishDate_txt}<span>  
258							<span><@getEditIcon /></span> 
259	                    </a> 
260						 
261    	            </div> 
262    	            <div class="col-md-12 col-swt"> 
263    	                <div class="col-md-3 article-img"> 
264        	                <a href="${urlArticle}"> 
265        	                    <img src="${imgThumbnailURL}" width=100%/> 
266        	                </a> 
267    	                </div> 
268    	                <div class="col-md-9 article-description"> 
269    	                    ${article.getDescription()} 
270    	                </div> 
271    	            </div> 
272				</div> 
273	        </#list> 
274	    </#if> 
275	</div> 
276</div> 
277 
278<#macro getEditIcon>				 
279	<#if renderer.hasEditPermission(themeDisplay.getPermissionChecker())> 
280		<#assign redirectURL = renderResponse.createRenderURL() /> 
281		<#assign editPortletURL = renderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" /> 
282		<!--Set embedded =true để giao diện hiển thị theo hook  --> 
283		${editPortletURL.setParameter("embedded", "true")} 
284		<#if validator.isNotNull(editPortletURL)> 
285			<@liferay_ui["icon"] 
286				cssClass="pull-right" 
287				image="edit"								 
288				url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "editAsset', title: '" + entryTitle + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});" 
289			/> 
290		</#if> 
291	</#if> 
292</#macro> 
293 
294<div class="row search-date"> 
295    <div class="col-md-5 search-lable"> 
296        Xem theo ngày: 
297    </div> 
298    <div class="col-md-3 search-input"> 
299        <input type="date" id="dateSearch" value="${dateSearch}"/> 
300    </div> 
301    <div class="col-md-4 search-button"> 
302        <div class="btn btn-primary" onClick="searchDate()"> 
303            Tìm 
304        </div> 
305    </div> 
306</div> 
307 
308<#assign currentUrl =  themeDisplay.getURLCurrent() /> 
309 
310<#if currentUrl?contains("&p_r_p_date=")> 
311	<#assign firstIndex = currentUrl?index_of("&p_r_p_date=") /> 
312	<#assign currentUrl = currentUrl?substring(0, firstIndex)/>									 
313</#if> 
314 
315<script type="text/javascript"> 
316    function searchDate(){ 
317        var date = $("#dateSearch").val(); 
318        var url = "${currentUrl}" + "&p_r_p_date=" + date; 
319        window.location.href = url; 
320
321</script> 
— 10 Items per Page
Showing 1 - 10 of 22 results.