Xuất bản thông tin

null Danh mục dự án kêu gọi đầu tư giai đoạn 2021-2025

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