Hình ảnh
Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
Java method "com.sun.proxy.$Proxy181.getChildCategories(long)" threw an exception when invoked on com.sun.proxy.$Proxy181 object "com.swt.portal.servicewrappers.AssetCategoryServiceOverride@1a8401d2"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign Category = AssetCategoryServi...  [in template "20115#20151#84168" at line 137, column 5]
----
1<style> 
2	 
3		.photoAlbum-hinhanh { 
4            margin-right: -2%; 
5            height: 56px; 
6            box-shadow: 0px 2px 10px #888888; 
7
8        .photoAlbum-img { 
9            margin-left: 14%; 
10
11        .photo-title { 
12            margin-top: 1%; 
13            color: #767676; 
14            margin-left: 10px; 
15
16        .photo-spantitle { 
17            font-size: 14px; 
18            margin-right: 4px; 
19            font-weight: 600; 
20
21        .mtouserphoto-ul-image { 
22            width: 100%; 
23            list-style: none; 
24            float: left; 
25            margin-top: 0%; 
26            margin-right:10px !important; 
27            margin-left: 10px !important; 
28            padding: 0; 
29
30        .mtouserphoto-li-image { 
31            float: left; 
32            padding-right: 1%; 
33            margin-top: 1%; 
34
35        .col-image-carousel { 
36            width: 97%; 
37
38         
39        .carousel-image-name { 
40            padding-bottom: 1%; 
41            padding-left: 3%; 
42            width: 96%; 
43            background: linear-gradient( #ffffff00,rgba(11, 11, 11, 0.89)); 
44            float: left; 
45            margin-top: -9%; 
46            position: absolute; 
47            text-align: left; 
48            padding-top: 5px; 
49            color: white; 
50            font-weight: bold; 
51            height: 14%; 
52            font-size: 12px; 
53            font-family: Arial, Helvetica, sans-serif; 
54
55        .slide-img-responsive { 
56            width: 96%; 
57            height: 155px !important; 
58
59        .img-responsive-detail { 
60            width: 93%; 
61            height: 155px !important; 
62
63        .carousel-image-name-photo-img { 
64            width: 96%; 
65            float: left; 
66            text-align: justify; 
67            padding-top: 2px; 
68            padding: 5px; 
69            color: #306e95; 
70            font-weight: bold; 
71            font-size: 13px; 
72            font-family: Arial, Helvetica, sans-serif; 
73
74        .titile-danh-sach-hinh-anh { 
75            color: #10406e; 
76            font-weight: 600; 
77            margin: 10px; 
78            margin-left: 28px; 
79            font-size: 14px; 
80            text-align: justify; 
81
82        .image-viewer-info{ 
83            display: none; 
84
85        .lfr-pagination{ 
86            display: none; 
87
88        #myDropdownalbum{ 
89            
90            float: left; 
91            z-index: 5; 
92            margin-left: 20%; 
93
94        .page-menu{ 
95            width: 70%; 
96
97        .cursor{ 
98            
99           color: #777; 
100           pointer-events: none; 
101           cursor: not-allowed; 
102
103	</style> 
104<#assign httpRequest = portalUtil.getOriginalServletRequest(portalUtil.getHttpServletRequest(renderRequest))> 
105<#assign idArticle = getterUtil.getLong(httpRequest.getParameter("id"))> 
106<#assign page = getterUtil.getLong(httpRequest.getParameter("page"))> 
107 <#assign AssetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService")> 
108  <#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
109  <#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
110  <#assign AssetCategoryPropertyLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryPropertyLocalServiceUtil"]/> 
111  <#assign AssetPublisherUtil = serviceLocator.findService("com.liferay.asset.publisher.web.util.AssetPublisherUtil")/> 
112  <#assign DLFileEntryLocalServiceUtil =  serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")/> 
113 
114 
115  
116<#assign indexCur  = -1 /> 
117<#list portletPreferences?keys as k> 
118    <#if "delta" = k> 
119        <#assign indexCur = k?index /> 
120    </#if> 
121 </#list> 
122 <#assign lvalues= portletPreferences?values /> 
123 <#assign numberConfig = lvalues[indexCur][0] />  
124  
125<#assign indexPage  = -1 /> 
126<#list portletPreferences?keys as k> 
127    <#if "paginationType" = k> 
128        <#assign indexPage = k?index /> 
129    </#if> 
130 </#list> 
131 <#assign pageValues= portletPreferences?values /> 
132 <#assign stylePage = pageValues[indexPage][0] />  
133     <#if validator.isNotNull(idArticle)> 
134   <#assign nameAlbum = AssetCategoryService.getCategory(idArticle) />  
135    </#if> 
136    <#assign i = 0 >  
137    <#assign Category = AssetCategoryService.getChildCategories(idArticle) />  
138      <#assign listCates = [] > 
139        <#list Category as ategory> 
140              <#assign i =i+1 > 
141    </#list> 
142<#if  validator.isNotNull(i?number) > 
143 <div class="row"> 
144    
145   <div class="col-md-12 col-lg-12"> 
146   	<#assign start = 0 > 
147    <#assign end = 0 > 
148        <#if  page<=1 > 
149        <#assign start=0 > 
150        <#assign end=numberConfig > 
151        <#else> 
152        <#assign star= page-1 > 
153        <#assign start= star*numberConfig?number > 
154        <#assign end=start?number+numberConfig?number > 
155        </#if> 
156   <ul class="mtouserphoto-ul-image row row-swt-responsive"> 
157  <#if validator.isNotNull(idArticle) > 
158<#assign listCategory = AssetCategoryService.getVocabularyCategories(themeDisplay.getScopeGroupId(),idArticle,nameAlbum.getVocabularyId(), start?number , end?number ,null) /> 
159                <div class="titile-danh-sach-hinh-anh">Danh sách album ${nameAlbum.getName()}</div> 
160    		 <#list listCategory as  categoryChil> 
161    		 	<#assign categoryPropertyList = AssetCategoryPropertyLocalServiceUtil.getCategoryProperties(categoryChil.getCategoryId())/> 
162            	<#list categoryPropertyList as categoryProperty> 
163            		<#if (categoryProperty.getKey() == "icon")> 
164            			<#assign idDLEntry = categoryProperty.getValue()/> 
165            			<#if (idDLEntry?number > 0)> 
166            			<#assign fileEntry = DLFileEntryLocalServiceUtil.getDLFileEntry(idDLEntry?number) /> 
167            			<#assign fileNameUrl = fileEntry.getTitle()/> 
168            			<#assign folderId = fileEntry.getFolderId()/> 
169            			<#assign url = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + "/" + folderId + "/" + fileNameUrl /> 
170            		    </#if> 
171            		</#if> 
172			</#list> 
173    			<li class="mtouserphoto-li-image col-swt  col-xs-12 col-sm-6 col-md-3 col-lg-3"> 
174            		<div id="myCarousel" class="col-image-carousel carousel slide" data-ride="carousel" data-interval="60000"> 
175    		        	<div class="item"> 
176					        <a href="?id=${categoryChil.getCategoryId()}"> 
177					            <img src="${url}" class="slide-img-responsive"/> 
178					            <div class="carousel-image-name"> 
179							    <img class="photo-carousel" src="/o/hcm-video-theme/images/hinhanh_07.png"> 
180								${categoryChil.getName()} 
181						         </div> 
182					        </a> 
183				        </div> 
184				</div> 
185	            </li> 
186	             
187			</#list> 
188			 
189   </ul> 
190   	<#assign pageCur = 1 /> 
191               <#assign x = i?number/numberConfig?number /> 
192               <#assign y =x?floor /> 
193               <#if i?number%numberConfig?number == 0> 
194                <#assign pageTotal = i?number/numberConfig?number /> 
195                <#else> 
196                <#assign pageTotal = y?number +1 /> 
197                </#if> 
198                <#if validator.isNull(page)> 
199                 <#assign pageNext = 2/> 
200                <#else> 
201                <#assign pageNext = page + 1/> 
202                </#if> 
203                <#assign pagePre = page - 1/> 
204                <#if stylePage == "regular"> 
205				 
206					  <div id="myDropdownalbum" class="dropdown"> 
207							  <button id="myTriggeralbum" class="btn btn-default dropdown-toggle" type="button"> 
208							   Trang <#if validator.isNull(page)>1<#else> ${page} </#if> của ${pageTotal} 
209								<span class="caret"></span> 
210							  </button> 
211							 <ul class="dropdown-menu"> 
212								   <#list 1..pageTotal as x> 
213										 <li class="">  
214										<a tabindex="-1" href="?page=${x}">${x}</a> 
215									   </li>  
216									</#list> 
217							</ul> 
218								  <small class="search-results"> — Dòng ${start + 1} - <#if (end?number <i?number) > ${end} <#else> ${i?number} </#if> (Tổng số: ${i}). </small> 
219						</div> 
220						<div class ="page-menu"> 
221							<ul class="lfr-pagination-buttons pager"> 
222								<li class="">  
223								   <a href="?page=${pageCur}" class="<#if page <=1 > cursor </#if>"  > ← Đầu tiên </a> 
224								</li>  
225								 <li class="">  
226								   <a href="?page=${pagePre}" class="<#if page <=1 > cursor </#if>"> Trước </a>  
227								</li>  
228								<li class=""> 
229								   <a href="?page=${pageNext}" class="<#if (page =pageTotal) || (numberConfig?number>=i?number) > cursor </#if>"> Tiếp theo </a>  
230								 </li>  
231								<li class=""> 
232								   <a href="?page=${pageTotal}" class="<#if (page =pageTotal) || (numberConfig?number>=i?number)  > cursor </#if>"> Cuối cùng → </a>  
233							   </li>  
234						   </ul> 
235					   </div> 
236				    
237                
238               </#if> 
239               </#if> 
240       
241    </div> 
242     
243     
244</div> 
245</#if> 
246 
247<script> 
248 YUI().use( 
249  'aui-dropdown', 
250  function(Y) { 
251    new Y.Dropdown( 
252
253        boundingBox: '#myDropdownalbum', 
254        trigger: '#myTriggeralbum' 
255
256    ).render(); 
257
258);  
259</script>