Asset-Herausgeber

null Công bố danh mục thủ tục về văn hóa, thể thao và du lịch

Fehler bei der Verarbeitung der Vorlage.
Java method "com.sun.proxy.$Proxy1025.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy1025 object "com.liferay.journal.change.tracking.internal.service.CTJournalArticleLocalServiceWrapper@da4f066"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign article = journalArticleLocal...  [in template "34201#34227#43055" at line 297, column 1]
----
1<style> 
2    #contentText img{ 
3	    opacity: 1 !important; 
4
5	.other-news { 
6        color: #cb373b; 
7        font-weight: bold; 
8        margin-top: 5px; 
9        margin-bottom: 3px; 
10        overflow: hidden; 
11
12    .other-news:after { 
13        content:""; 
14        display: inline-block; 
15        height: 0.5em; 
16        vertical-align: bottom; 
17        width: 100%; 
18        margin-right: -100%; 
19        margin-left: 10px; 
20        border-top: 1px solid #cb373b; 
21
22	.date-span { 
23        color: #888888; 
24        font-size: 14px; 
25        font-weight: normal; 
26
27	.limit-tit { 
28        display: block; 
29        text-overflow: ellipsis; 
30        word-wrap: break-word; 
31        overflow: hidden; 
32        max-height: 6em; 
33        display: -webkit-box; 
34        -webkit-line-clamp: 2; 
35        -webkit-box-orient: vertical; 
36        margin: 0; 
37
38	@media only screen and (min-width: 768px) { 
39		.other-imgs { 
40			height: 60px; 
41
42
43	@media only screen and (max-width: 500px) { 
44		.curPage-title { 
45			display: none; 
46
47		.title-divvv { 
48			text-align: justify; 
49    		margin-top: 50px; 
50
51
52	.pagination2 { 
53		display: inline-block; 
54
55 
56	.pagination2 a { 
57	    cursor: pointer; 
58		color: black; 
59		padding: 8px 16px; 
60		text-decoration: none; 
61		transition: background-color .3s; 
62		border: 1px solid #ddd; 
63		margin: 0px; 
64
65	 
66	.pagination2 select {	     
67		cursor: pointer; 
68		padding: 6px 6px; 
69		margin: 0px; 
70
71 
72	.pagination2 a.active { 
73		background-color: #4CAF50; 
74		color: white; 
75		border: 1px solid #4CAF50; 
76
77 
78	.pagination2 a:hover:not(.active) { 
79		background-color: #ddd; 
80
81	.tieuDe-asset::after { 
82		position: absolute; 
83		content: ""; 
84		left: 100%; 
85		top: 0; 
86		border-top: 14px solid transparent; 
87		border-bottom: 15px solid transparent; 
88		border-left: 13px solid darkgray; 
89
90	.asset-full-content.clearfix.mb-5.show-asset-title { 
91		margin-bottom: 0 !important; 
92
93	.article-head { 
94		margin-bottom: 0; 
95
96	@media only screen and (max-width: 768px) { 
97		#contentText iframe { 
98			width: 100% !important; 
99
100		.article-head .article-info { 
101			margin-bottom: 0; 
102			padding: 15px 0 8px 0; 
103
104
105	@media only screen and (max-width: 500px) { 
106		.curPage-title { 
107			display: unset !important; 
108
109
110	button.quantam { 
111		background-color: red; 
112		border: red solid 2.5px; 
113		border-radius: 3px; 
114		color: white; 
115		font-size: 13px; 
116
117	.botting-border { 
118		width: 145px; 
119		color: #292a32; 
120		background: unset; 
121		font-family: "Roboto Slab"; 
122		text-transform: unset; 
123		font-weight: bold; 
124		font-size: 20px; 
125		margin-bottom: 15px; 
126		border-bottom: 3px solid #d1d2d4; 
127
128	.botting-border:after { 
129		content: ''; 
130		display: block; 
131		border-bottom: 3px solid #ed0678; 
132		margin-bottom: -3px; 
133		max-width: 32%; 
134
135	 
136	.buttonIn {  
137        position: relative;  
138    }  
139       
140	.btnsend {  
141		color: #FFF; 
142		background-color: #EC0677; 
143		border-color: #EC0677; 
144		padding: 3px 0.75rem; 
145        position: absolute;  
146        border-radius: 1px;  
147        right: 20px; 
148        z-index: 2;  
149        border: none;  
150        top: 22px;  
151        height: 30px;  
152        cursor: pointer;   
153        transform: translateX(2px);  
154    }  
155	.button-dt {  
156		color: #FFF; 
157		background-color: #EC0677; 
158		border-color: #EC0677; 
159		padding: 3px 0.75rem; 
160        border-radius: 1px;  
161        height: 30px;  
162		margin: 3px; 
163    }  
164	.button-dt-close {  
165		color: #FFF; 
166		background-color: #EC0677; 
167		border-color: #EC0677; 
168		padding: 3px 0.75rem; 
169        border-radius: 1px;  
170        height: 30px;  
171		margin: 3px; 
172    }  
173    .md-textarea {  
174        margin: 0px;  
175        padding: 30px 70px 0px 15px; 
176        width: 100%;  
177		height: 80px; 
178        outline: none;  
179        border-radius: 3px;  
180    }  
181	.comment{ 
182		display: inline-block; 
183		margin-top: 5px; 
184		width: 100%; 
185
186	.comment-text{ 
187		padding-left: 51px; 
188		margin-top: -9px; 
189		font-size: 14px; 
190
191	 
192	.comment-child{ 
193		margin-left:35px; 
194
195	 
196	 
197	.modal-thongtin { 
198		display: none; 
199		position: fixed; 
200		z-index: 1; 
201		padding-top: 100px; 
202		left: 0; 
203		top: 0; 
204		width: 100%; 
205		height: 100%; 
206		overflow: auto; 
207		background-color: rgb(0, 0, 0); 
208		background-color: rgba(0, 0, 0, .4); 
209
210	 
211	.modal-thongtin-reply { 
212		display: none; 
213		position: fixed; 
214		z-index: 1; 
215		padding-top: 100px; 
216		left: 0; 
217		top: 0; 
218		width: 100%; 
219		height: 100%; 
220		overflow: auto; 
221		background-color: rgb(0, 0, 0); 
222		background-color: rgba(0, 0, 0, .4); 
223
224 
225	.modal-thongtin-content { 
226		background-color: #fefefe; 
227		margin: auto; 
228		padding: 20px; 
229		border: 1px solid #888; 
230		width: 60%; 
231
232 
233	.close { 
234		color: #aaaaaa; 
235		float: right; 
236		font-size: 28px; 
237		font-weight: bold; 
238
239 
240	.close:hover, 
241	.close:focus { 
242		color: #000; 
243		text-decoration: none; 
244		cursor: pointer; 
245
246	 
247	.btnreply { 
248		color: #FFF; 
249		background-color: #EC0677; 
250		border-color: #EC0677; 
251		padding: 3px 0.75rem; 
252		border: none; 
253		height: 33px; 
254
255.tomtat p{ 
256	text-align: justify; 
257	font-size:12pt !important; 
258	line-height:160% !important; 
259	font-weight:bold; 
260
261sup { 
262    top: 6px !important; 
263    font-size: 8px !important; 
264
265 
266</style> 
267 
268<script> 
269    $(document).ready(function () { 
270        const divs = document.querySelectorAll('.nav-link'); 
271        divs.forEach(el => el.addEventListener('click', event => { 
272          location.href = event.target.getAttribute("href"); 
273        	 
274        })); 
275         
276    }); 
277</script> 
278<#assign  
279    title = .vars['reserved-article-title'].data 
280	portalURL = themeDisplay.getPortalURL()  
281	currentUrl = portalURL + themeDisplay.getURLCurrent()  
282	imageUrl = portalURL + .vars['reserved-article-small-image-url'].data 
283	srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=172&layout=button_count&action=like&size=small&share=true&height=46&appId=2034212100232051"  
284	displayDate = .vars['reserved-article-display-date'].data 
285	summary = .vars['reserved-article-description'].data/> 
286	 
287	 
288 
289<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
290 
291<#assign scopeId = themeDisplay.getScopeGroupId()> 
292 
293<#assign thumnail_logo = "https://thunghiem.dongthap.gov.vn/o/portal-dt-home-theme/images/dong-thap/banner-vietnamese.jpg"> 
294 
295<#assign contentId = .vars['reserved-article-id'].data> 
296 
297<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId)> 
298<#assign articlePrimKey = article.resourcePrimKey> 
299<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
300<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
301<#assign articleCatId = catLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))> 
302 
303<#assign categoryList = catLocalService.getAssetEntryAssetCategories(getterUtil.getLong(articlePrimKey))> 
304 
305<#assign layoutService =  serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
306<#if (request.getParameter("plidlayout")?has_content)> 
307    <#assign plidlayout = request.getParameter("plidlayout") /> 
308    <#else> 
309    <#assign plidlayout = 2 /> 
310</#if> 
311<#assign layout = layoutService.fetchLayout(plidlayout?number) /> 
312<#assign curLayout = layoutService.fetchLayout(plid?number) /> 
313<#assign pageTitle = layout.getName(locale) /> 
314<#assign pageUrl = layout.getFriendlyURL(locale) /> 
315<#assign curPageTitle = curLayout.getName(locale) /> 
316<#assign originalLocale = .locale> 
317<#setting locale = localeUtil.getDefault()> 
318<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
319<#assign locale = originalLocale> 
320<#assign displayDate = displayDate?string("HH:mm dd/MM/yyyy")> 
321 
322<#assign listLayoutDHD = [5474,5512,179]> 
323<#assign layo = themeDisplay.getPlid() /> 
324<#assign articleCatIds = "" /> 
325<#list articleCatId as item> 
326	<#assign articleCatIds = articleCatIds + item + "," /> 
327</#list> 
328 
329<#assign assetEntryQueryService = objectUtil('com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil')> 
330 
331<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')> 
332 
333<@liferay_util["html-top"]> 
334    <meta name="title" property="og:title" content="${title}"/> 
335    <meta name="image" property="og:image" content="${imageUrl}"/> 
336    <meta name="imageurl" property="og:image:url" content="${imageUrl}"/> 
337    <meta name="description" property="og:description" content="${summary}"/> 
338    <meta name="url" property="og:url" content="${currentUrl}"/> 
339 </@> 
340 <liferay-util:html-top outputKey="htmltop"> 
341	<meta name="title" property="og:title" content="${title}"/> 
342	<meta name="image" property="og:image" content="${imageUrl}"/> 
343    <meta name="imageurl" property="og:image:url" content="${imageUrl}"/> 
344    <meta name="description" property="og:description" content="${summary?replace("<p>","")?replace("</p>","")}"/> 
345    <meta name="url" property="og:url" content="${currentUrl}"/> 
346	<meta property="og:image:width" content="600" /> 
347    <meta property="og:image:height" content="315" /> 
348    <meta property="og:description" content="${title}" /> 
349    <meta property="og:site_name" content="${currentUrl}" /> 
350</liferay-util:html-top> 
351<script src="https://sp.zalo.me/plugins/sdk.js"></script> 
352 
353<#assign search = assetEntryQuery.setAllCategoryIds(articleCatId)> 
354<#assign search = assetEntryQuery.setOrderByCol1("publishDate")/> 
355<#assign search = assetEntryQuery.setStart(0)/> 
356<#assign search = assetEntryQuery.setEnd(10)/> 
357<#assign search = assetEntryQuery.setOrderByType1("DESC")/> 
358 
359<#assign teste = assetEntryQueryService.getEntries(assetEntryQuery) 
360		totalPage = 0/> 
361		 
362		<meta name="DC.Description" content="${summary?replace("<p>","")?replace("</p>","")}"> 
363        <meta name="DC.DateCreated" content="${displayDate}"> 
364        <meta name="DC.Title" content="${title}"> 
365        <meta name="DC.Coverage" content="Việt Nam"> 
366        <meta name="DC.Creator" content="Admin Cổng thông tin Đồng Tháp"> 
367        <meta name="DC.Publisher" content="Cơ quan phát ngôn của tỉnh Đồng Tháp"> 
368        <meta name="DC.Subject" content="${title}"> 
369        <meta name="DC.Relation" content=""> 
370        <meta name="DC.Rights" content="Bất kỳ ai cũng có quyền truy cập"> 
371        <meta name="DC.Type" content="Text"> 
372        <meta name="DC.DateIssued" content="${displayDate}"> 
373        <meta name="DC.Format" content="text/html"> 
374        <meta name="DC.Identifier" content="https://dongthap.gov.vn"> 
375        <meta name="DC.Language" content="Việt Nam"> 
376        <meta name="DC.DateValid" content="${displayDate}"> 
377        <meta name="DC.DateModified" content="${displayDate}"> 
378         
379<script> 
380 
381 
382	$(document).ready(function () { 
383		var modal = $('.modal-thongtin'); 
384		var btn = $('.btnsend'); 
385		var button_dt = $('.button-dt'); 
386		var button_dt_close = $('.button-dt-close'); 
387		var span = $('.close'); 
388		var baiVietId = $('#baiVietId'); 
389		var tieuDe = $('#tieuDe'); 
390		var commentContent = $('#commentContent'); 
391		var commentName = $('#commentName'); 
392		var commentAddress = $('#commentAddress'); 
393		var commentEmail = $('#commentEmail'); 
394		 
395		btn.click(function () { 
396			if (commentContent.val().length == 0) { 
397				alert('Vui lòng nhập nội dung ý kiến!'); 
398			} else { 
399				modal.show(); 
400				btn.hide(); 
401
402		}); 
403		 
404		button_dt.click(function () { 
405		const valid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 
406			if (commentName.val().length == 0) { 
407				commentName.css('border-color', 'red'); 
408				commentName.focus(); 
409			} else if (commentAddress.val().length == 0) { 
410				commentAddress.css('border-color', 'red'); 
411				commentAddress.focus(); 
412			} else if (commentEmail.val().length == 0) { 
413				commentEmail.css('border-color', 'red'); 
414				commentEmail.focus(); 
415			} else if (!valid.test(commentEmail.val())) { 
416				commentEmail.css('border-color', 'red'); 
417				commentEmail.focus(); 
418				alert('Vui lòng nhập đúng email!'); 
419			}else { 
420				comment(baiVietId.val(), tieuDe.val(), commentContent.val(), commentName.val(), commentAddress.val(), commentEmail.val(), ${groupId}); 
421				commentContent.val(''); 
422				commentName.val(''); 
423				commentAddress.val(''); 
424				commentEmail.val(''); 
425				modal.hide(); 
426				btn.show(); 
427				 
428
429		}); 
430		 
431		button_dt_close.click(function () { 
432			commentContent.val(''); 
433			commentName.val(''); 
434			commentAddress.val(''); 
435			commentEmail.val(''); 
436			commentName.css('border-color', '#ccc'); 
437			commentAddress.css('border-color', '#ccc'); 
438			commentEmail.css('border-color', '#ccc'); 
439			modal.hide(); 
440			btn.show(); 
441			 
442		}); 
443 
444		span.click(function () { 
445			commentContent.val(''); 
446			commentName.val(''); 
447			commentAddress.val(''); 
448			commentEmail.val(''); 
449			modal.hide(); 
450			$('.replyBox').hide(); 
451			btn.show(); 
452			 
453			$('.inputReplyContent').val(''); 
454			commentNameReply.val(''); 
455			commentAddressReply.val(''); 
456			commentEmailReply.val(''); 
457			modal_reply.hide(); 
458			$('.replyBox').hide(); 
459			btnreply.show(); 
460		}); 
461 
462		$(window).on('click', function (e) { 
463		if ($(e.target).is('.modal-thongtin')) { 
464			commentContent.val(''); 
465			commentName.val(''); 
466			commentAddress.val(''); 
467			commentEmail.val(''); 
468			modal.hide(); 
469			btn.show(); 
470
471		if ($(e.target).is('.modal-thongtin-reply')) { 
472			$('.inputReplyContent').val(''); 
473			commentNameReply.val(''); 
474			commentAddressReply.val(''); 
475			commentEmailReply.val(''); 
476			modal_reply.hide(); 
477			btnreply.show(); 
478
479		}); 
480		 
481		 
482		var modal_reply = $('.modal-thongtin-reply'); 
483		var btnreply = $('.btnreply'); 
484		var button_dt_reply = $('.button-dt-reply'); 
485		var button_dt_reply_close = $('.button-dt-reply-close'); 
486		var span = $('.close'); 
487		var commentNameReply = $('#commentNameReply'); 
488		var commentAddressReply = $('#commentAddressReply'); 
489		var commentEmailReply = $('#commentEmailReply'); 
490		 
491		function submitreply() { 
492			var commentId = $('#commentId').val(); 
493			if ($('#inputReplyContent' + commentId).val().length == 0) { 
494				alert('Vui lòng nhập nội dung ý kiến!'); 
495			} else { 
496				modal_reply.show(); 
497				$('#commentContentReply').val($('#inputReplyContent' + commentId).val()); 
498				btnreply.hide(); 
499
500
501		 
502		button_dt_reply.click(function () { 
503			if (commentNameReply.val().length == 0) { 
504				commentNameReply.css('border-color', 'red'); 
505			} else if (commentAddressReply.val().length == 0) { 
506				commentAddressReply.css('border-color', 'red'); 
507			} else if (commentEmailReply.val().length == 0) { 
508				commentEmailReply.css('border-color', 'red'); 
509			} else { 
510				replyComment($('#commentId').val(),baiVietId.val(), tieuDe.val(), $('#commentContentReply').val(), commentNameReply.val(), commentAddressReply.val(), commentEmailReply.val()); 
511				$('.inputReplyContent').val(''); 
512				commentNameReply.val(''); 
513				commentAddressReply.val(''); 
514				commentEmailReply.val(''); 
515				modal_reply.hide(); 
516
517		}); 
518		 
519		button_dt_reply_close.click(function () { 
520			$('.inputReplyContent').val(''); 
521			commentNameReply.val(''); 
522			commentAddressReply.val(''); 
523			commentEmailReply.val(''); 
524			modal_reply.hide(); 
525			 
526		}); 
527	}); 
528	 
529	function submitreply() { 
530		var commentId = $('#commentId').val(); 
531		if ($('#inputReplyContent' + commentId).val().length == 0) { 
532			alert('Vui lòng nhập nội dung ý kiến!'); 
533		} else { 
534			$('.modal-thongtin-reply').show(); 
535			$('#commentContentReply').val($('#inputReplyContent' + commentId).val()); 
536			$('.btnreply').hide(); 
537
538
539	 
540	function changePageSize(){ 
541		var pageSize = $('#pageSize').val(); 
542		var pageIndex = $('#pageIndex').val(); 
543		paginate(pageIndex, pageSize); 
544
545	 
546	function changePageIndex(){ 
547		var pageSize = $('#pageSize').val(); 
548		var pageIndex = $('#pageIndex').val(); 
549		$('#curPage').val(pageIndex); 
550		paginate(pageIndex, pageSize);	 
551
552	 
553 
554 
555</script> 
556<script type="text/javascript" src="https://dongthap.gov.vn/documents/34223/0/html2pdf.js"></script> 
557<script> 
558      function generatePDF() { 
559        // Choose the element that our invoice is rendered in. 
560        const element = document.getElementById("contentText"); 
561        // Choose the element and save the PDF for our user. 
562        html2pdf() 
563          .from(element) 
564          .save(); 
565
566      </script> 
567<script src="https://sp.zalo.me/plugins/sdk.js"></script> 
568<div class="main-content"> 
569	<div class="panel" id="main-body"> 
570		<div class="shortcode-content hreview">			 
571		    <#if listLayoutDHD?seq_index_of(layo) &gt; -1 > 
572		        <div class="brumnoidung"> 
573                	<ul class="breadcrumb"> 
574                		<li class="breadcrumb-item crum1"><a href="/home">Trang chủ</a></li> 
575                		<li class="breadcrumb-item active">Tin tức</li> 
576                	</ul> 
577                </div> 
578                <#else> 
579				<span style="position: relative;font-weight: bold;font-size: 17px;border-left: 3px solid #ed0678;padding: 5px;background-color: darkgrey;" class="tieuDe-asset"> 
580					<a href="https://dongthap.gov.vn">Trang chủ</a> 
581				</span> 
582				<#assign journalArticleId = .vars['reserved-article-id'].data> 
583				<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]> 
584				<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]> 
585 
586				<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
587				<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
588				 
589				<#list categoryList as thisCategory> 
590					<#if (thisCategory_index==0)> 
591						<span class="curPage-title" style="font-size: 17px;padding-left: 17px;font-weight: bold;">${thisCategory.getName()}</span> 
592					</#if> 
593				</#list> 
594			</#if> 
595			 
596			<div class="article-head"> 
597				<div class="article-info" style="border-top: 0px;border-bottom: 0px;margin-left: 11px;"> 
598					<div class="social-buttons left"> 
599                        ${displayDate} 
600					</div> 
601					<div class="social-buttons right"> 
602					    <a class="social-thing" onclick="voiceSpeak('contentText','voiceSex')"; style="margin-right: 5px;" 
603							data-toggle="tooltip" title="Đọc bài viết"> 
604							<img class="volume-up" src="/o/portal-dt-home-theme/images/icons/trothinh_volume-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
605						</a> 
606						<a id="void-pause" class="social-thing" onclick="voicePause()"; style="margin-right: 1px;display:none;" 
607							data-toggle="tooltip" title="Tạm dừng đọc"> 
608							<span class="fa fa-pause" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/> 
609						</a> 
610						<a id="void-resume" class="social-thing" onclick="voiceResume()"; style="margin-right: 1px;display:none;" 
611							data-toggle="tooltip" title="Tiếp tục đọc"> 
612							<span class="fa fa-repeat" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"></span> 
613						</a> 
614						<a id="void-stop" class="social-thing" onclick="voiceCancel()"; style="margin-right: 1px;display:none;" 
615							data-toggle="tooltip" title="Dừng đọc"> 
616							<span class="fa fa-stop"style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/> 
617						</a> 
618						<a class="social-thing" style="margin-right: 5px;"> 
619							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
620						</a> 
621						<a class="social-thing" onclick="giamTuongPhan();" style="margin-right: 5px;" 
622							data-toggle="tooltip" title="Giảm tương phản"> 
623							<img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
624						</a> 
625						<a class="social-thing" onclick="tangTuongPhan();" style="margin-right: 5px;" 
626							data-toggle="tooltip" title="Tăng tương phản"> 
627							<img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
628						</a> 
629						<a class="social-thing" style="margin-right: 5px;"> 
630							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
631						</a> 
632						<a class="social-thing" onclick="fontMinus();" style="margin-right: 5px;" 
633							data-toggle="tooltip" title="Giảm cỡ chữ"> 
634							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
635						</a> 
636						<a class="social-thing" onclick="fontDefault();" style="margin-right: 5px;" 
637							data-toggle="tooltip" title="Cỡ chữ mặc định"> 
638							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
639						</a> 
640						<a class="social-thing" onclick="fontPlus();" style="margin-right: 5px;" 
641							data-toggle="tooltip" title="Tăng cỡ chữ"> 
642							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
643						</a> 
644						<a class="social-thing" style="margin-right: 5px;"> 
645							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
646						</a> 
647						<a class="social-thing" onclick="printPage('contentText');" style="margin-right: 5px;" 
648							data-toggle="tooltip" title="In bài viết"> 
649							<img src="/o/portal-dt-home-theme/images/icons/trothinh_print-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
650						</a> 
651						<a class="social-thing" onclick="generatePDF();" style="margin-right: 5px;" 
652							data-toggle="tooltip" title="Lưu bài viết"> 
653							<img src="https://dongthap.gov.vn/documents/34223/4699960/dl.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
654						</a> 
655						<a class="social-thing" href="https://mail.google.com/mail/?view=cm&fs=1&su=${title}&body=${currentUrl}" style="margin-right: 5px;" 
656							data-toggle="tooltip" title="Gửi mail" target="_blank"> 
657							<img src="/o/portal-dt-home-theme/images/icons/trothinh_mail-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;height:13px"/> 
658						</a> 
659					</div> 
660					<input type="hidden" id="voiceSex" value="Vietnamese Female"></input> 
661					<input type="hidden" id="tuongphan" value="3"></input> 
662					<input type="hidden" id="baiVietId" name="baiVietId" value="${articlePrimKey}"></input> 
663					<input type="hidden" id="commentId" name="commentId" value=""></input> 
664					<input type="hidden" id="tieuDe" name="tieuDe" value="${title?html}"></input> 
665					<input type="hidden" id="articleCatIds" name="articleCatIds" value="${articleCatIds}"></input> 
666					<input type="hidden" value="1" id="curPage"/> 
667					<input type="hidden" value="0" id="totalRelated"/> 
668				</div> 
669			</div> 
670		</div> 
671		 
672		<div id="contentText"  style="margin:10px"> 
673		<input type="hidden" id="thumbnailUrl" name="thumbnailUrl" value="${imageUrl}"></input> 
674			<h2 class="title-divvv" style="color: #ed0678;font-weight: bold;">${title}</h2> 
675		    <div class="tomtat">${summary}</div> 
676		    ${noiDung.getData()} 
677		</div> 
678		<div class="mb-3 pr-3" style="width:100%;display: inline-block;"> 
679			<#if tacGia?has_content && tacGia.getOptions()?has_content> 
680				<#list tacGia.getOptions() as item>  
681					<#if item?has_content> 
682						<#assign u = userLocalService.fetchUser(item?number)/>	 
683							<#if u?has_content> 
684								<#if u.getExpandoBridge()?has_content && u.getExpandoBridge().getAttribute("Bút danh")?has_content && u.getExpandoBridge().getAttribute("Email cá nhân")?has_content> 
685									<#assign ten = u.getExpandoBridge().getAttribute("Bút danh")/> 
686									<#assign email = u.getExpandoBridge().getAttribute("Email cá nhân")/> 
687								</#if> 
688								<#assign portraitURL = u.getPortraitURL(themeDisplay)/> 
689								<#if ten?has_content && email?has_content> 
690									<div class="right d-flex ml-3"> 
691										<div style="text-align:right"> 
692											<span><b>${ten}</b></span><br> 
693											<span>${email}</span> 
694										</div> 
695										<div class="ml-2"> 
696											<span class="sticker"> 
697												<span class="inline-item" id="personal-menu-icon-wrapper"> 
698													<span class="rounded-circle sticker" style="width:2.5rem;height:2.5rem"> 
699														<span class="sticker-overlay"> 
700															<img alt="thumbnail" class="img-fluid" src="${portraitURL}"> 
701														</span> 
702													</span> 
703												</span>	 
704											</span> 
705										</div> 
706									</div> 
707								</#if> 
708							</#if> 
709					</#if> 
710				</#list> 
711			</#if> 
712			<#if congTacVien?has_content && congTacVien.tenCongTacVien?has_content && congTacVien.emailCongTacVien?has_content && congTacVien.tenCongTacVien.getData()?has_content> 
713				<#assign tenCongTacVien = congTacVien.tenCongTacVien.getData()/> 
714				<#assign emailCongTacVien = congTacVien.emailCongTacVien.getData()/> 
715				<div class="right d-flex ml-3"> 
716					<div style="text-align:right"> 
717						<span><b>${tenCongTacVien}</b></span><br> 
718						<span>${emailCongTacVien}</span> 
719					</div> 
720					<div class="ml-2"> 
721						<span class="sticker"> 
722							<span class="inline-item" id="personal-menu-icon-wrapper"> 
723								<span class="rounded-circle sticker" style="width:2.5rem;height:2.5rem"> 
724									<span class="sticker-overlay"> 
725										<img alt="thumbnail" class="img-fluid" src="/documents/34223/2640277/avata.jpg"> 
726									</span> 
727								</span> 
728							</span>	 
729						</span> 
730					</div> 
731				</div> 
732			</#if> 
733		</div> 
734		 
735		<div class="article-info"> 
736			<div class="social-buttons"> 
737				<button class="quantam" id="quantam" onclick="follow(${articlePrimKey},'${title?html}');">					 
738				</button> 
739                <!-- <div class="zalo-follow-only-button" data-oaid="3540423014405379625" style="width: 88px;"></div> --> 
740                <div class="zalo-share-button" data-href="${currentUrl}" data-oaid="4499765515963062717" data-layout="1" data-color="blue"></div> 
741                <iframe src="${srcfb}" width="140" height="35" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe> 
742		    </div> 
743			<#if listLayoutDHD?seq_index_of(layo) &gt; -1 > 
744				<#if teste?has_content> 
745					<div class="tinkhac"> 
746						<div class="bg-tinkhac"></div> 
747						<ul class="list-unstyled"> 
748						<#list teste as curEntryyy> 
749							<#assign  
750							renderer = curEntryyy.getAssetRenderer()  
751							className = renderer.getClassName() /> 
752						<#if className == "com.liferay.journal.model.JournalArticle"> 
753							<#assign  
754									title = curEntryyy.getTitle(locale)  
755									article = renderer.getArticle()  
756									description = article.getDescription(locale)  
757									curEntryyy = curEntryyy  
758									viewURL = "/chi-tiet-chuyen-trang-dh-dang/-/asset_publisher/hPvLbtAWEWEb/content/id/${curEntryyy.getEntryId()}?plidlayout=${themeDisplay.getLayout().getPlid()}" /> 
759							<#if description?has_content && description?length &gt; 300> 
760								<#assign description = description?substring(0,300) + " ..."/> 
761							</#if> 
762 
763									<#if curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest)??> 
764										<#assign smallImageUrl = curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest) > 
765										<#else> 
766											<#assign smallImageUrl = "" > 
767									</#if> 
768									<li><a href="${viewURL}">${title}</a></li> 
769							 
770						</#if> 
771						</#list> 
772						</ul> 
773					</div> 
774				</#if> 
775			<#else> 
776			<div class="social-buttons right"> 
777				<div> 
778					<p class="other-news">CÓ THỂ BẠN QUAN TÂM</p> 
779				</div> 
780				<div class="row ml-0 mr-0 relatedentry" id="relatedentry"> 
781					 
782				</div> 
783			</div> 
784			</#if> 
785			 
786			<div style="text-align: center"> 
787				<div class="pagination2" style="position: relative; justify-content: center;"> 
788					Hiển thị  
789					<select id="pageSize" onchange="changePageSize();"> 
790						<option>6</option> 
791						<option>10</option> 
792						<option>20</option> 
793					</select>  
794					Tới trang  
795					<select id="pageIndex" onchange="changePageIndex();"> 
796						<option>1</option> 
797					</select>  
798					của <span id="totalPage" style="vertical-align: middle;font-size: 12px;">135</span> 
799					<a id="previousP" onclick="previousPP();">&lt;</a> 
800					<a id="nextP" onclick="nextPP();">&gt;</a>					 
801				</div> 
802			</div> 
803		</div> 
804		 
805		<h2 class="botting-border">Ý kiến của bạn</h2> 
806		<section class="form-gradient"> 
807			<div style="padding-bottom: 1px" class="buttonIn"> 
808				<textarea id="commentContent" class="md-textarea" rows="3" required="true" placeholder="Nhập ý kiến của bạn..."></textarea> 
809				<button type="button" class="btnsend"><i class="fa fa-paper-plane"></i> Gửi</button>					 
810			</div> 
811			<form> 
812				<div class="modal-thongtin"> 
813					<div class="modal-thongtin-content"> 
814						<span class="close">&times;</span> 
815						<h3>Thông tin độc giả</h3> 
816						<div class="row mb-2"> 
817							<div class="col-sm-2 align-self-center"> 
818								<label for="commentName" class="mb-1">Họ tên (<red style="color: red;">*</red>)</label> 
819							</div> 
820							<div class="col-sm-10  pl-2"> 
821								<input type="text" id="commentName" class="form-control" required="true"> 
822							</div> 
823						</div> 
824						<div class="row mb-2"> 
825							<div class="col-sm-2 align-self-center"> 
826								<label for="commentAddress" class="mb-1">Địa chỉ (<red style="color: red;">*</red>)</label> 
827							</div> 
828							<div class="col-sm-10  pl-2"> 
829								<input type="text" id="commentAddress" class="form-control" required="true"> 
830							</div> 
831						</div> 
832						<div class="row mb-2"> 
833							<div class="col-sm-2 align-self-center"> 
834								<label for="commentEmail" class="mb-1">Địa chỉ email (<red style="color: red;">*</red>)</label> 
835							</div> 
836							<div class="col-sm-10 pl-2"> 
837								<input type="email" id="commentEmail" class="form-control valid-email" required="true"> 
838							</div> 
839						</div> 
840						<div class="d-flex justify-content-end" style="margin: 0 24px 10px 0"> 
841							<button type="button" class="button-dt"><i class="fa fa-paper-plane"></i> Gửi</button> 
842							<button type="button" class="button-dt-close">Đóng</button> 
843						</div> 
844					</div> 
845				</div> 
846			</form> 
847			<form> 
848				<div class="modal-thongtin-reply"> 
849					<div class="modal-thongtin-content"> 
850						<span class="close">&times;</span> 
851						<h3>Thông tin độc giả</h3> 
852						<div class="row mb-2"> 
853							<div class="col-sm-2 align-self-center"> 
854								<label for="commentNameReply" class="mb-1">Họ tên (<red style="color: red;">*</red>)</label> 
855							</div> 
856							<div class="col-sm-10  pl-2"> 
857								<input type="text" id="commentNameReply" class="form-control" required="true"> 
858								<input type="hidden" id="commentContentReply" class="form-control" required="true"> 
859							</div> 
860						</div> 
861						<div class="row mb-2"> 
862							<div class="col-sm-2 align-self-center"> 
863								<label for="commentAddressReply" class="mb-1">Địa chỉ (<red style="color: red;">*</red>)</label> 
864							</div> 
865							<div class="col-sm-10  pl-2"> 
866								<input type="text" id="commentAddressReply" class="form-control" required="true"> 
867							</div> 
868						</div> 
869						<div class="row mb-2"> 
870							<div class="col-sm-2 align-self-center"> 
871								<label for="commentEmailReply" class="mb-1">Địa chỉ email (<red style="color: red;">*</red>)</label> 
872							</div> 
873							<div class="col-sm-10 pl-2"> 
874								<input type="email" id="commentEmailReply" class="form-control valid-email" required="true"> 
875							</div> 
876						</div> 
877						<div class="d-flex justify-content-end" style="margin: 0 24px 10px 0"> 
878							<button type="button" class="button-dt-reply"><i class="fa fa-paper-plane"></i> Gửi</button> 
879							<button type="button" class="button-dt-reply-close">Đóng</button> 
880						</div> 
881					</div> 
882				</div> 
883			</form> 
884		</section> 
885		<div class="comment-list"> 
886			<div style="width:100%;display:inline-block;background: gainsboro;"> 
887				<p style="color:#ed0678;margin: 4px;" class="left"><b>Ý kiến bạn đọc</b> (<span id="comment-count">0</span>)</p> 
888			</div> 
889			<div id="comment-show-list">	 
890				 
891			</div> 
892		</div> 
893	 
894	</div> 
895</div> 
896<#macro getMetadataField 
897 	fieldName 
898
899 	<#if stringUtil.split(metadataFields)?seq_contains(fieldName)> 
900 		<span class="metadata-entry metadata-${fieldName}"> 
901 			<#assign dateFormat = "dd MMM yyyy - HH:mm:ss" /> 
902  
903 			<#if stringUtil.equals(fieldName, "author")> 
904 				<@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))} 
905 			<#elseif stringUtil.equals(fieldName, "categories")> 
906 				<@liferay_asset["asset-categories-summary"] 
907 					className=curEntry.getClassName() 
908 					classPK=curEntry.getClassPK() 
909 					portletURL=renderResponse.createRenderURL() 
910 				/> 
911 			<#elseif stringUtil.equals(fieldName, "create-date")> 
912 				${dateUtil.getDate(curEntry.getCreateDate(), dateFormat, locale)} 
913 			<#elseif stringUtil.equals(fieldName, "expiration-date")> 
914 				${dateUtil.getDate(curEntry.getExpirationDate(), dateFormat, locale)} 
915 			<#elseif stringUtil.equals(fieldName, "modified-date")> 
916 				${dateUtil.getDate(curEntry.getModifiedDate(), dateFormat, locale)} 
917 			<#elseif stringUtil.equals(fieldName, "priority")> 
918 				${curEntry.getPriority()} 
919 			<#elseif stringUtil.equals(fieldName, "publish-date")> 
920 				${dateUtil.getDate(curEntry.getPublishDate(), dateFormat, locale)} 
921 			<#elseif stringUtil.equals(fieldName, "tags")> 
922 				<@liferay_asset["asset-tags-summary"] 
923 					className=curEntry.getClassName() 
924 					classPK=curEntry.getClassPK() 
925 					portletURL=renderResponse.createRenderURL() 
926 				/> 
927 			<#elseif stringUtil.equals(fieldName, "view-count")> 
928 				${curEntry.getViewCount()} <@liferay.language key="views" /> 
929 			</#if> 
930 		</span> 
931 	</#if> 
932</#macro>