Xuất bản thông tin

null Điểm tin online ngày 13/02/2020

Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
The following has evaluated to null or missing:
==> layoutService.fetchLayout(plidlayout?number)  [in template "34201#34227#43055" at line 389, column 19]

----
Tip: If the failing expression is known to be 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: #assign layout = layoutService.fetchL...  [in template "34201#34227#43055" at line 389, column 1]
----
1<style> 
2	.other-news { 
3        color: #cb373b; 
4        font-weight: bold; 
5        margin-top: 5px; 
6        margin-bottom: 3px; 
7        overflow: hidden; 
8
9    .other-news:after { 
10        content:""; 
11        display: inline-block; 
12        height: 0.5em; 
13        vertical-align: bottom; 
14        width: 100%; 
15        margin-right: -100%; 
16        margin-left: 10px; 
17        border-top: 1px solid #cb373b; 
18
19	.date-span { 
20        color: #888888; 
21        font-size: 14px; 
22        font-weight: normal; 
23
24	.limit-tit { 
25        display: block; 
26        text-overflow: ellipsis; 
27        word-wrap: break-word; 
28        overflow: hidden; 
29        max-height: 6em; 
30        display: -webkit-box; 
31        -webkit-line-clamp: 2; 
32        -webkit-box-orient: vertical; 
33        margin: 0; 
34
35	@media only screen and (min-width: 768px) { 
36		.other-imgs { 
37			height: 60px; 
38
39
40	@media only screen and (max-width: 500px) { 
41		.curPage-title { 
42			display: none; 
43
44		.title-divvv { 
45			text-align: justify; 
46    		margin-top: 50px; 
47
48
49	.pagination2 { 
50		display: inline-block; 
51
52 
53	.pagination2 a { 
54	    cursor: pointer; 
55		color: black; 
56		float: left; 
57		padding: 8px 16px; 
58		text-decoration: none; 
59		transition: background-color .3s; 
60		border: 1px solid #ddd; 
61		margin: 0 4px; 
62
63 
64	.pagination2 a.active { 
65		background-color: #4CAF50; 
66		color: white; 
67		border: 1px solid #4CAF50; 
68
69 
70	.pagination2 a:hover:not(.active) { 
71		background-color: #ddd; 
72
73	.tieuDe-asset::after { 
74		position: absolute; 
75		content: ""; 
76		left: 100%; 
77		top: 0; 
78		border-top: 14px solid transparent; 
79		border-bottom: 15px solid transparent; 
80		border-left: 13px solid darkgray; 
81
82	.asset-full-content.clearfix.mb-5.show-asset-title { 
83		margin-bottom: 0 !important; 
84
85	.article-head { 
86		margin-bottom: 0; 
87
88	@media only screen and (max-width: 768px) { 
89		#contentText iframe { 
90			width: 100% !important; 
91
92		.article-head .article-info { 
93			margin-bottom: 0; 
94			padding: 15px 0 8px 0; 
95
96
97	@media only screen and (max-width: 500px) { 
98		.curPage-title { 
99			display: unset !important; 
100
101
102	.paginate-pagination ul { 
103	 
104	margin: 20px 0; 
105	padding: 0; 
106	list-style: none; 
107	 
108
109 
110.paginate-pagination ul:after { 
111	 
112	content: ' '; 
113	display: table; 
114	clear: both; 
115	 
116
117 
118.paginate-pagination ul > li { 
119	 
120	float: left; 
121	margin-right: 3px; 
122	 
123
124 
125.paginate-pagination ul > li > a.page { 
126	 
127	display: block; 
128	height: 30px; 
129	width: 30px; 
130	text-align: center; 
131	line-height: 30px; 
132	border: 1px solid #ddd; 
133	background: white; 
134	text-decoration: none; 
135	cursor: pointer; 
136	 
137
138 
139.paginate-pagination ul > li > a.page:hover { opacity: 0.7; } 
140.paginate-pagination ul > li > a.page.active { opacity: 0.7; cursor: default; } 
141 
142.paginate-pagination ul > li > a.page-next.deactive, 
143.paginate-pagination ul > li > a.page-prev.deactive { opacity: 0.7; cursor: default; } 
144</style> 
145<script type="text/javascript"> 
146(function( $ ) { 
147 
148    $.paginate = function(element, options) { 
149 
150        /* 
151            #Defaults 
152        */ 
153        var defaults = { 
154            perPage:                15,              //how many items per page 
155            autoScroll:             true,           //boolean: scroll to top of the container if a user clicks on a pagination link 
156            scope:                  '',             //which elements to target 
157            paginatePosition:       ['bottom'],     //defines where the pagination will be displayed 
158            containerTag:           'nav', 
159            paginationTag:          'ul', 
160            itemTag:                'li', 
161            linkTag:                'a', 
162            useHashLocation:        true,           //Determines whether or not the plugin makes use of hash locations 
163            onPageClick:            function() {}   //Triggered when a pagination link is clicked 
164 
165        }; 
166 
167        var plugin = this; 
168        var plugin_index = $('.paginate').length; 
169 
170        plugin.settings = {}; 
171 
172        var $element = $(element); 
173 
174        var curPage, items, offset, maxPage; 
175 
176        /* 
177            #Initliazes plugin 
178        */ 
179        plugin.init = function() { 
180            plugin.settings = $.extend({}, defaults, options); 
181 
182            curPage = 1; 
183            items =  $element.children(plugin.settings.scope); 
184            maxPage = Math.ceil( items.length / plugin.settings.perPage ); //determines how many pages exist 
185 
186            var paginationHTML = generatePagination(); //generate HTML for pageination 
187 
188            if($.inArray('top', plugin.settings.paginatePosition) > -1) { 
189                $element.before(paginationHTML); 
190
191 
192            if($.inArray('bottom', plugin.settings.paginatePosition) > -1) { 
193                $element.after(paginationHTML); 
194
195 
196            $element.addClass("paginate"); 
197            $element.addClass("paginate-" + plugin_index); 
198 
199            var hash = location.hash.match(/\#paginate\-(\d)/i); 
200 
201            //Check if URL has matching location hash 
202            if(hash && plugin.settings.useHashLocation) { 
203                plugin.switchPage(hash[1]); 
204            } else { 
205                plugin.switchPage(1); //go to initial page 
206
207 
208        }; 
209 
210        /* 
211            #Switch to Page > 'page' 
212        */ 
213        plugin.switchPage = function(page) { 
214 
215            if(page == "next") { 
216                page = curPage + 1; 
217
218 
219            if(page == "prev") { 
220                page = curPage - 1; 
221
222 
223            //If page is out of range return false 
224            if(page < 1 || page > maxPage) { 
225                return false; 
226
227 
228            if(page > maxPage) { 
229                $('.paginate-pagination-' + plugin_index).find('.page-next').addClass("deactive"); 
230                return false; 
231            } else { 
232                $('.paginate-pagination-' + plugin_index).find('.page-next').removeClass("deactive"); 
233
234 
235            $('.paginate-pagination-' + plugin_index).find('.active').removeClass('active'); 
236            $('.paginate-pagination-' + plugin_index).find('.page-' + page).addClass('active'); 
237 
238            offset = (page - 1) * plugin.settings.perPage; 
239 
240            $( items ).hide(); 
241 
242            //Display items of page 
243            for(i = 0; i < plugin.settings.perPage; i++) { 
244                if($( items[i + offset] ).length) 
245                    $( items[i + offset] ).fadeTo(100, 1); 
246
247 
248            //Deactive prev button 
249            if(page == 1) { 
250                $('.paginate-pagination-' + plugin_index).find('.page-prev').addClass("deactive"); 
251            } else { 
252                $('.paginate-pagination-' + plugin_index).find('.page-prev').removeClass("deactive"); 
253
254 
255            //Deactive next button 
256            if(page == maxPage) { 
257                $('.paginate-pagination-' + plugin_index).find('.page-next').addClass("deactive"); 
258            } else { 
259                $('.paginate-pagination-' + plugin_index).find('.page-next').removeClass("deactive"); 
260
261 
262            curPage = page; 
263 
264            return curPage; 
265 
266        }; 
267 
268        /* 
269        #Kills plugin 
270        */ 
271        plugin.kill = function() { 
272 
273            $( items ).show(); 
274            $('.paginate-pagination-' + plugin_index).remove(); 
275            $element.removeClass('paginate'); 
276            $element.removeData('paginate'); 
277 
278        }; 
279 
280        /* 
281        #Generates HTML for pagination (nav) 
282        */ 
283        var generatePagination = function() { 
284 
285            var paginationEl = '<' + plugin.settings.containerTag + ' class="paginate-pagination paginate-pagination-' + plugin_index + '" data-parent="' + plugin_index + '">'; 
286            paginationEl += '<' + plugin.settings.paginationTag + '>'; 
287 
288            paginationEl += '<' + plugin.settings.itemTag + '>'; 
289            paginationEl += '<' + plugin.settings.linkTag + ' href="#" data-page="prev" class="page page-prev">&laquo;</' + plugin.settings.linkTag + '>'; 
290            paginationEl += '</' + plugin.settings.itemTag + '>'; 
291 
292            for(i = 1; i <= maxPage; i++) { 
293                paginationEl += '<' + plugin.settings.itemTag + '>'; 
294                paginationEl += '<' + plugin.settings.linkTag + ' href="#paginate-' + i + '" data-page="' + i + '" class="page page-' + i + '">' + i + '</' + plugin.settings.linkTag + '>'; 
295                paginationEl += '</' + plugin.settings.itemTag + '>'; 
296
297 
298            paginationEl += '<' + plugin.settings.itemTag + '>'; 
299            paginationEl += '<' + plugin.settings.linkTag + ' href="#" data-page="next" class="page page-next">&raquo;</' + plugin.settings.linkTag + '>'; 
300            paginationEl += '</' + plugin.settings.itemTag + '>'; 
301 
302            paginationEl += '</' + plugin.settings.paginationTag + '>'; 
303            paginationEl += '</' + plugin.settings.containerTag + '>'; 
304 
305            //Adds event listener for the buttons 
306            $(document).on('click', '.paginate-pagination-' + plugin_index + ' .page', function(e) { 
307                e.preventDefault(); 
308 
309                var page = $(this).data('page'); 
310                var paginateParent = $(this).parents('.paginate-pagination').data('parent'); 
311 
312                //Call onPageClick callback function 
313                $('.paginate-' + paginateParent).data('paginate').settings.onPageClick(); 
314 
315                page = $('.paginate-' + paginateParent).data('paginate').switchPage(page); 
316 
317                if(page) { 
318                    if(plugin.settings.useHashLocation) 
319                        location.hash = '#paginate-' + page; //set location hash 
320 
321                    if(plugin.settings.autoScroll) 
322                        $('html, body').animate({scrollTop: $('.paginate-' + paginateParent).offset().top}, 'slow'); 
323 
324
325 
326            }); 
327 
328            return paginationEl; 
329 
330        }; 
331 
332        plugin.init(); 
333 
334    }; 
335 
336    $.fn.paginate = function(options) { 
337 
338        return this.each(function() { 
339            if (undefined === $(this).data('paginate')) { 
340                var plugin = new $.paginate(this, options); 
341                    $(this).data('paginate', plugin); 
342
343        }); 
344 
345    }; 
346 
347}( jQuery )); 
348</script> 
349<#assign  
350    title = .vars['reserved-article-title'].data 
351	portalURL = themeDisplay.getPortalURL()  
352	currentUrl = portalURL + themeDisplay.getURLCurrent()  
353	imageUrl = portalURL + .vars['reserved-article-small-image-url'].data  
354	srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=172&layout=button_count&action=like&size=small&share=true&height=46&appId"  
355	displayDate = .vars['reserved-article-display-date'].data 
356	summary = .vars['reserved-article-description'].data/> 
357 
358	<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
359 
360	<#assign scopeId = themeDisplay.getScopeGroupId()> 
361 
362	<#assign contentId = .vars['reserved-article-id'].data> 
363 
364	<#assign articlePrimKey = JournalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId).resourcePrimKey> 
365 
366	<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
367	<#assign articleCatId = catLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))> 
368	 
369	<#assign categoryList = catLocalService.getAssetEntryAssetCategories(getterUtil.getLong(articlePrimKey))> 
370     
371	<#assign assetEntryQueryService = objectUtil('com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil')> 
372 
373	<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')> 
374	 
375 
376	<#assign search = assetEntryQuery.setAllCategoryIds(articleCatId)> 
377	<#assign search = assetEntryQuery.setOrderByCol1("publishDate")/> 
378    <#assign search = assetEntryQuery.setOrderByType1("DESC")/> 
379 
380	<#assign teste = assetEntryQueryService.getEntries(assetEntryQuery) 
381			totalPage = 0/> 
382 
383<#assign layoutService =  serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
384<#if (request.getParameter("plidlayout")?has_content)> 
385    <#assign plidlayout = request.getParameter("plidlayout") /> 
386    <#else> 
387    <#assign plidlayout = 2 /> 
388</#if> 
389<#assign layout = layoutService.fetchLayout(plidlayout?number) /> 
390<#assign curLayout = layoutService.fetchLayout(plid?number) /> 
391<#assign pageTitle = layout.getName(locale) /> 
392<#assign pageUrl = layout.getFriendlyURL(locale) /> 
393<#assign curPageTitle = curLayout.getName(locale) /> 
394<#assign originalLocale = .locale> 
395<#setting locale = localeUtil.getDefault()> 
396<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
397<#assign locale = originalLocale> 
398<#assign displayDate = displayDate?string("HH:mm dd/MM/yyyy")> 
399 
400<#assign listLayoutDHD = [5474,5512,179]> 
401<#assign layo = themeDisplay.getPlid() /> 
402 
403<script src="https://sp.zalo.me/plugins/sdk.js"></script> 
404<liferay-util:html-top outputKey="htmltop"> 
405    <meta name="url" property="og:url" content="${currentUrl}" /> 
406	<meta name="type" property="og:type" content="article" /> 
407    <meta name="title" property="og:title" content="${.vars['reserved-article-title'].data}" /> 
408    <meta name="image" property="og:image" content="${imageUrl}" > 
409</liferay-util:html-top> 
410 
411 
412 
413<div class="row"> 
414  <div class="col-8"> 
415   
416   
417  <#if listLayoutDHD?seq_index_of(layo) &gt; -1 > 
418		        <div class="brumnoidung"> 
419                	<ul class="breadcrumb"> 
420                		<li class="breadcrumb-item crum1"><a href="/home">Trang chủ</a></li> 
421                		<li class="breadcrumb-item active">Tin tức</li> 
422                	</ul> 
423                </div> 
424                <#else> 
425				<span style="position: relative;font-weight: bold;font-size: 17px;border-left: 3px solid #ed0678;padding: 5px;background-color: darkgrey;" class="tieuDe-asset"> 
426					<a href="${pageUrl}">${pageTitle}</a> 
427				</span> 
428				<#assign journalArticleId = .vars['reserved-article-id'].data> 
429				<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]> 
430				<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]> 
431 
432				<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
433				<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
434				 
435				<#list categoryList as thisCategory> 
436					<#if (thisCategory_index==0)> 
437						<span class="curPage-title" style="font-size: 17px;padding-left: 17px;font-weight: bold;">${thisCategory.getName()}</span> 
438					</#if> 
439				</#list> 
440			</#if> 
441			 
442			<div class="article-head"> 
443				<div class="article-info" style="border-top: 0px;border-bottom: 0px;margin-left: 11px;"> 
444					<div class="social-buttons left"> 
445                        ${displayDate} 
446					</div> 
447					<div class="social-buttons right"> 
448					    <a class="social-thing" onclick="voiceSpeak('contentText','voiceSex')"; style="margin-right: 5px;" 
449							data-toggle="tooltip" title="Đọc bài viết"> 
450							<img class="volume-up" src="/o/portal-dt-home-theme/images/icons/trothinh_volume-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
451						</a> 
452						<a id="void-pause" class="social-thing" onclick="voicePause()"; style="margin-right: 1px;display:none;" 
453							data-toggle="tooltip" title="Tạm dừng đọc"> 
454							<span class="fa fa-pause" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/> 
455						</a> 
456						<a id="void-resume" class="social-thing" onclick="voiceResume()"; style="margin-right: 1px;display:none;" 
457							data-toggle="tooltip" title="Tiếp tục đọc"> 
458							<span class="fa fa-repeat" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"></span> 
459						</a> 
460						<a id="void-stop" class="social-thing" onclick="voiceCancel()"; style="margin-right: 1px;display:none;" 
461							data-toggle="tooltip" title="Dừng đọc"> 
462							<span class="fa fa-stop"style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/> 
463						</a> 
464						<a class="social-thing" style="margin-right: 5px;"> 
465							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
466						</a> 
467						<a class="social-thing" onclick="giamTuongPhan();" style="margin-right: 5px;" 
468							data-toggle="tooltip" title="Giảm tương phản"> 
469							<img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
470						</a> 
471						<a class="social-thing" onclick="tangTuongPhan();" style="margin-right: 5px;" 
472							data-toggle="tooltip" title="Tăng tương phản"> 
473							<img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
474						</a> 
475						<a class="social-thing" style="margin-right: 5px;"> 
476							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
477						</a> 
478						<a class="social-thing" onclick="fontMinus();" style="margin-right: 5px;" 
479							data-toggle="tooltip" title="Giảm cỡ chữ"> 
480							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
481						</a> 
482						<a class="social-thing" onclick="fontDefault();" style="margin-right: 5px;" 
483							data-toggle="tooltip" title="Cỡ chữ mặc định"> 
484							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
485						</a> 
486						<a class="social-thing" onclick="fontPlus();" style="margin-right: 5px;" 
487							data-toggle="tooltip" title="Tăng cỡ chữ"> 
488							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
489						</a> 
490						<a class="social-thing" style="margin-right: 5px;"> 
491							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
492						</a> 
493						<a class="social-thing" onclick="printPage('contentText');" style="margin-right: 5px;" 
494							data-toggle="tooltip" title="In bài viết"> 
495							<img src="/o/portal-dt-home-theme/images/icons/trothinh_print-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
496						</a> 
497						<a class="social-thing" href="https://mail.google.com/mail/?view=cm&fs=1&su=${title}&body=${currentUrl}" style="margin-right: 5px;" 
498							data-toggle="tooltip" title="Gửi mail" target="_blank"> 
499							<img src="/o/portal-dt-home-theme/images/icons/trothinh_mail-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;height:13px"/> 
500						</a> 
501					</div> 
502					<input type="hidden" id="voiceSex" value="Vietnamese Female"></input> 
503					<input type="hidden" id="tuongphan" value="3"></input> 
504				</div> 
505			</div> 
506		 
507		<div style="margin:10px"> 
508	        <h2 class="title-divvv" style="color: #ed0678;font-weight: bold;">${title}</h2> 
509	    </div> 
510		<div id="contentText"  style="margin:10px"> 
511		    <b>${summary}</b> 
512		    ${noiDung.getData()} 
513		</div> 
514		<div class="article-info"> 
515			<div class="social-buttons"> 
516				<a href="#"><img src="https://dongthap.gov.vn/documents/34223/36207/quantam-btn.jpg/03716e20-b334-f2ab-e186-370511edfc77?t=1594708727042" style="width: 80px; height: 20px; margin-right: 2px"></a> 
517                <div class="zalo-follow-only-button" data-oaid="3540423014405379625" style="width: 88px;"></div> 
518                <div class="zalo-share-button" data-href="" data-oaid="4499765515963062717" data-layout="1" data-color="blue" data-customize=false></div> 
519                <iframe src="${srcfb}" width="140" height="35" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe> 
520		    </div> 
521			<#if listLayoutDHD?seq_index_of(layo) &gt; -1 > 
522				<#if teste?has_content> 
523					<div class="tinkhac"> 
524						<div class="bg-tinkhac"></div> 
525						<ul class="list-unstyled"> 
526						<#list teste as curEntryyy> 
527							<#assign  
528							renderer = curEntryyy.getAssetRenderer()  
529							className = renderer.getClassName() /> 
530						<#if className == "com.liferay.journal.model.JournalArticle"> 
531							<#assign  
532									title = curEntryyy.getTitle(locale)  
533									article = renderer.getArticle()  
534									description = article.getDescription(locale)  
535									curEntryyy = curEntryyy  
536									viewURL = "/chi-tiet-chuyen-trang-dh-dang/-/asset_publisher/hPvLbtAWEWEb/content/id/${curEntryyy.getEntryId()}?plidlayout=${themeDisplay.getLayout().getPlid()}" /> 
537							<#if description?has_content && description?length &gt; 300> 
538								<#assign description = description?substring(0,300) + " ..."/> 
539							</#if> 
540 
541									<#if curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest)??> 
542										<#assign smallImageUrl = curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest) > 
543										<#else> 
544											<#assign smallImageUrl = "" > 
545									</#if> 
546									<li><a href="${viewURL}">${title}</a></li> 
547							 
548						</#if> 
549						</#list> 
550						</ul> 
551					</div> 
552				</#if> 
553			<#else> 
554   
555   
556  </div> 
557  </div> 
558  <div class="col-4" style="padding-left:20px"> 
559   
560   
561  <div class="social-buttons right"> 
562				<div> 
563					<p class="other-news">Xem thêm các tin khác </p> 
564				</div> 
565				<div class="row ml-0 mr-0 relatedentry" id="0"> 
566					<ul id="pags"> 
567					<#list teste as curEntryyy> 
568						<#assign  
569						renderer = curEntryyy.getAssetRenderer()  
570						className = renderer.getClassName() /> 
571						<#if className == "com.liferay.journal.model.JournalArticle"> 
572							<#assign  
573								title2 = curEntryyy.getTitle(locale)  
574								article2 = renderer.getArticle() 
575								publishdate2 = curEntryyy.getPublishDate() 
576								viewcount2 = curEntryyy.getViewCount()   
577								description2 = article2.getDescription(locale) 
578								curEntryyy = curEntryyy 
579								viewURL2 = themeDisplay.getPathFriendlyURLPublic() + themeDisplay.getSiteGroup().getFriendlyURL() + "/chi-tiet-bai-viet/-/asset_publisher/1mOzUrGkrdAE/content/id/${curEntryyy.getEntryId()}?plidlayout=${themeDisplay.getLayout().getPlid()}"/> 
580								 
581							<#if curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest)??> 
582								<#assign smallImageUrl = curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest) > 
583								<#else> 
584									<#assign smallImageUrl = "" > 
585							</#if> 
586						 
587								<li style="margin-top:10px"> 
588								<div class="col-md-12 pr-md-2 mb-2"> 
589									<div class="row ml-0 mr-0"> 
590										<div class="col-sm-3"> 
591											<a href="${viewURL2}"><img src="${smallImageUrl}" alt="img" class="img-fluid w-100 other-imgs"></a> 
592										</div> 
593										<div class="col-sm-9 pl-sm-2"> 
594											<a href="${viewURL2}"><p style="margin-bottom: 5px;" class="limit-tit">${title2}</p></a> 
595											<span class="date-span">${publishdate2}</span> 
596										</div> 
597									</div> 
598								</div> 
599								</li> 
600														 
601						</#if> 
602					</#list> 
603					</ul> 
604				</div> 
605			</div> 
606			</#if> 
607			<#if teste?has_content && teste?length &gt; 0> 
608			<div style="text-align: center"> 
609				<script> 
610		//call paginate 
611		$('#pags').paginate(); 
612		</script> 
613			</div> 
614			</#if> 
615		</div> 
616   
617  </div>