Xuất bản thông tin

null Đề án Chuyển đổi số y tế giai đoạn 2022 - 2025, định hướng đến 2030

Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
Java method "com.sun.proxy.$Proxy1872.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy1872 object "com.liferay.journal.change.tracking.internal.service.CTJournalArticleLocalServiceWrapper@5d1947d0"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign article = journalArticleLocal...  [in template "34201#34227#13805173" at line 306, 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:180% !important; 
256	font-weight:bold; 
257
258sup { 
259    top: 6px !important; 
260    font-size: 8px !important; 
261
262 
263</style> 
264<input id="dislikeURL" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=dislike&p_p_cacheability=cacheLevelPage" type="hidden"/> 
265<input id="likeURL" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=like&p_p_cacheability=cacheLevelPage" type="hidden"/> 
266 
267<input id="getDataURL" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getData&p_p_cacheability=cacheLevelPage" type="hidden"/> 
268<input id="sendCommentURL" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=sendComment&p_p_cacheability=cacheLevelPage" type="hidden"/> 
269<input id="getCommentURL" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getComment&p_p_cacheability=cacheLevelPage" type="hidden"/> 
270<input id="getRelatedEntryURL" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getRelatedEntry&p_p_cacheability=cacheLevelPage" type="hidden"/> 
271<input id="getRelatedEntryURL2" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getRelatedEntry2&p_p_cacheability=cacheLevelPage" type="hidden"/> 
272<input id="countRelatedEntryURL" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=countRelatedEntry&p_p_cacheability=cacheLevelPage" type="hidden"/> 
273<input id="themMoiAjaxURL" value="https://dongthap.gov.vn/chi-tiet-bai-viet?p_p_id=Follow_WAR_sdttintucportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=themMoi&p_p_cacheability=cacheLevelPage" type="hidden"/> 
274<script src="/o/sdt-tintuc-portlet/js/view.js"></script> 
275<script src="/o/sdt-tintuc-portlet/js/moment.min.js"></script> 
276 
277<script> 
278    $(document).ready(function () { 
279        const divs = document.querySelectorAll('.nav-link'); 
280        divs.forEach(el => el.addEventListener('click', event => { 
281          location.href = event.target.getAttribute("href"); 
282        	 
283        })); 
284         
285    }); 
286</script> 
287<#assign  
288    title = .vars['reserved-article-title'].data 
289	portalURL = themeDisplay.getPortalURL()  
290	currentUrl = portalURL + themeDisplay.getURLCurrent()  
291	imageUrl = portalURL + .vars['reserved-article-small-image-url'].data 
292	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"  
293	displayDate = .vars['reserved-article-display-date'].data 
294	summary = .vars['reserved-article-description'].data/> 
295	 
296	 
297 
298<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
299 
300<#assign scopeId = themeDisplay.getScopeGroupId()> 
301 
302<#assign thumnail_logo = "https://thunghiem.dongthap.gov.vn/o/portal-dt-home-theme/images/dong-thap/banner-vietnamese.jpg"> 
303 
304<#assign contentId = .vars['reserved-article-id'].data> 
305 
306<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId)> 
307<#assign articlePrimKey = article.resourcePrimKey> 
308<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
309<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
310<#assign articleCatId = catLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))> 
311 
312<#assign categoryList = catLocalService.getAssetEntryAssetCategories(getterUtil.getLong(articlePrimKey))> 
313 
314<#assign layoutService =  serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
315<#if (request.getParameter("plidlayout")?has_content)> 
316    <#assign plidlayout = request.getParameter("plidlayout") /> 
317    <#else> 
318    <#assign plidlayout = 2 /> 
319</#if> 
320<#assign layout = layoutService.fetchLayout(plidlayout?number) /> 
321<#assign curLayout = layoutService.fetchLayout(plid?number) /> 
322<#assign pageTitle = layout.getName(locale) /> 
323<#assign pageUrl = layout.getFriendlyURL(locale) /> 
324<#assign curPageTitle = curLayout.getName(locale) /> 
325<#assign originalLocale = .locale> 
326<#setting locale = localeUtil.getDefault()> 
327<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
328<#assign locale = originalLocale> 
329<#assign displayDate = displayDate?string("HH:mm dd/MM/yyyy")> 
330 
331<#assign listLayoutDHD = [5474,5512,179]> 
332<#assign layo = themeDisplay.getPlid() /> 
333<#assign articleCatIds = "" /> 
334<#list articleCatId as item> 
335	<#assign articleCatIds = articleCatIds + item + "," /> 
336</#list> 
337 
338<#assign assetEntryQueryService = objectUtil('com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil')> 
339 
340<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')> 
341 
342 
343 
344<#assign search = assetEntryQuery.setAllCategoryIds(articleCatId)> 
345<#assign search = assetEntryQuery.setOrderByCol1("publishDate")/> 
346<#assign search = assetEntryQuery.setStart(0)/> 
347<#assign search = assetEntryQuery.setEnd(10)/> 
348<#assign search = assetEntryQuery.setOrderByType1("DESC")/> 
349 
350<#assign teste = assetEntryQueryService.getEntries(assetEntryQuery) 
351		totalPage = 0/> 
352 
353 <liferay-util:html-top outputKey="htmltop" style="display:none;"> 
354	<meta name="title" property="og:title" content="${title}"/> 
355    <meta name="image" property="og:image" content="${imageUrl}"/> 
356    <meta name="image" property="og:image:secure_url" content="${imageUrl}"/> 
357    <meta name="description" property="og:description" content="${summary?replace("<p>","")?replace("</p>","")}"/> 
358    <meta name="url" property="og:url" content="${currentUrl}"/> 
359</liferay-util:html-top> 
360 
361<script> 
362	$(document).ready(function () { 
363		var modal = $('.modal-thongtin'); 
364		var btn = $('.btnsend'); 
365		var button_dt = $('.button-dt'); 
366		var button_dt_close = $('.button-dt-close'); 
367		var span = $('.close'); 
368		var baiVietId = $('#baiVietId'); 
369		var tieuDe = $('#tieuDe'); 
370		var commentContent = $('#commentContent'); 
371		var commentName = $('#commentName'); 
372		var commentAddress = $('#commentAddress'); 
373		var commentEmail = $('#commentEmail'); 
374		 
375		btn.click(function () { 
376			if (commentContent.val().length == 0) { 
377				alert('Vui lòng nhập nội dung ý kiến!'); 
378			} else { 
379				modal.show(); 
380				btn.hide(); 
381
382		}); 
383		 
384		 
385		button_dt.click(function () { 
386		const valid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 
387			if (commentName.val().length == 0) { 
388				commentName.css('border-color', 'red'); 
389				commentName.focus(); 
390			} else if (commentAddress.val().length == 0) { 
391				commentAddress.css('border-color', 'red'); 
392				commentAddress.focus(); 
393			} else if (commentEmail.val().length == 0) { 
394				commentEmail.css('border-color', 'red'); 
395				commentEmail.focus(); 
396			} else if (!valid.test(commentEmail.val())) { 
397				commentEmail.css('border-color', 'red'); 
398				commentEmail.focus(); 
399				alert('Vui lòng nhập đúng email!'); 
400			}else { 
401				comment(baiVietId.val(), tieuDe.val(), commentContent.val(), commentName.val(), commentAddress.val(), commentEmail.val(), ${groupId}); 
402				commentContent.val(''); 
403				commentName.val(''); 
404				commentAddress.val(''); 
405				commentEmail.val(''); 
406				modal.hide(); 
407				btn.show(); 
408				 
409
410		}); 
411		 
412		button_dt_close.click(function () { 
413			commentContent.val(''); 
414			commentName.val(''); 
415			commentAddress.val(''); 
416			commentEmail.val(''); 
417			commentName.css('border-color', '#ccc'); 
418			commentAddress.css('border-color', '#ccc'); 
419			commentEmail.css('border-color', '#ccc'); 
420			modal.hide(); 
421			btn.show(); 
422			 
423		}); 
424 
425		span.click(function () { 
426			commentContent.val(''); 
427			commentName.val(''); 
428			commentAddress.val(''); 
429			commentEmail.val(''); 
430			modal.hide(); 
431			$('.replyBox').hide(); 
432			btn.show(); 
433			 
434			$('.inputReplyContent').val(''); 
435			commentNameReply.val(''); 
436			commentAddressReply.val(''); 
437			commentEmailReply.val(''); 
438			modal_reply.hide(); 
439			$('.replyBox').hide(); 
440			btnreply.show(); 
441		}); 
442 
443		$(window).on('click', function (e) { 
444		if ($(e.target).is('.modal-thongtin')) { 
445			commentContent.val(''); 
446			commentName.val(''); 
447			commentAddress.val(''); 
448			commentEmail.val(''); 
449			modal.hide(); 
450			btn.show(); 
451
452		if ($(e.target).is('.modal-thongtin-reply')) { 
453			$('.inputReplyContent').val(''); 
454			commentNameReply.val(''); 
455			commentAddressReply.val(''); 
456			commentEmailReply.val(''); 
457			modal_reply.hide(); 
458			btnreply.show(); 
459
460		}); 
461		 
462		 
463		var modal_reply = $('.modal-thongtin-reply'); 
464		var btnreply = $('.btnreply'); 
465		var button_dt_reply = $('.button-dt-reply'); 
466		var button_dt_reply_close = $('.button-dt-reply-close'); 
467		var span = $('.close'); 
468		var commentNameReply = $('#commentNameReply'); 
469		var commentAddressReply = $('#commentAddressReply'); 
470		var commentEmailReply = $('#commentEmailReply'); 
471		 
472		function submitreply() { 
473			var commentId = $('#commentId').val(); 
474			if ($('#inputReplyContent' + commentId).val().length == 0) { 
475				alert('Vui lòng nhập nội dung ý kiến!'); 
476			} else { 
477				modal_reply.show(); 
478				$('#commentContentReply').val($('#inputReplyContent' + commentId).val()); 
479				btnreply.hide(); 
480
481
482		 
483		button_dt_reply.click(function () { 
484			if (commentNameReply.val().length == 0) { 
485				commentNameReply.css('border-color', 'red'); 
486			} else if (commentAddressReply.val().length == 0) { 
487				commentAddressReply.css('border-color', 'red'); 
488			} else if (commentEmailReply.val().length == 0) { 
489				commentEmailReply.css('border-color', 'red'); 
490			} else { 
491				replyComment($('#commentId').val(),baiVietId.val(), tieuDe.val(), $('#commentContentReply').val(), commentNameReply.val(), commentAddressReply.val(), commentEmailReply.val()); 
492				$('.inputReplyContent').val(''); 
493				commentNameReply.val(''); 
494				commentAddressReply.val(''); 
495				commentEmailReply.val(''); 
496				modal_reply.hide(); 
497
498		}); 
499		 
500		button_dt_reply_close.click(function () { 
501			$('.inputReplyContent').val(''); 
502			commentNameReply.val(''); 
503			commentAddressReply.val(''); 
504			commentEmailReply.val(''); 
505			modal_reply.hide(); 
506			 
507		}); 
508	}); 
509	 
510	function submitreply() { 
511		var commentId = $('#commentId').val(); 
512		if ($('#inputReplyContent' + commentId).val().length == 0) { 
513			alert('Vui lòng nhập nội dung ý kiến!'); 
514		} else { 
515			$('.modal-thongtin-reply').show(); 
516			$('#commentContentReply').val($('#inputReplyContent' + commentId).val()); 
517			$('.btnreply').hide(); 
518
519
520	 
521	function changePageSize(){ 
522		var pageSize = $('#pageSize').val(); 
523		var pageIndex = $('#pageIndex').val(); 
524		paginate(pageIndex, pageSize); 
525
526	 
527	function changePageIndex(){ 
528		var pageSize = $('#pageSize').val(); 
529		var pageIndex = $('#pageIndex').val(); 
530		$('#curPage').val(pageIndex); 
531		paginate(pageIndex, pageSize);	 
532
533	 
534 
535</script> 
536<script type="text/javascript" src="https://dongthap.gov.vn/documents/34223/0/html2pdf.js"></script> 
537<script> 
538      function generatePDF() { 
539        // Choose the element that our invoice is rendered in. 
540        const element = document.getElementById("contentText"); 
541        // Choose the element and save the PDF for our user. 
542        html2pdf() 
543          .from(element) 
544          .save(); 
545
546      </script> 
547<script src="https://sp.zalo.me/plugins/sdk.js"></script> 
548<div class="main-content"> 
549	<div class="panel" id="main-body"> 
550		<div class="shortcode-content hreview">			 
551		    <#if listLayoutDHD?seq_index_of(layo) &gt; -1 > 
552		        <div class="brumnoidung"> 
553                	<ul class="breadcrumb"> 
554                		<li class="breadcrumb-item crum1"><a href="/home">Trang chủ</a></li> 
555                		<li class="breadcrumb-item active">Tin tức</li> 
556                	</ul> 
557                </div> 
558                <#else> 
559				<span style="position: relative;font-weight: bold;font-size: 17px;border-left: 3px solid #ed0678;padding: 5px;background-color: darkgrey;" class="tieuDe-asset"> 
560					<a href="https://dongthap.gov.vn" style="color: black">Trang chủ</a> 
561				</span> 
562				<#assign journalArticleId = .vars['reserved-article-id'].data> 
563				<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]> 
564				<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]> 
565 
566				<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
567				<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
568				 
569				<#list categoryList as thisCategory> 
570					<#if (thisCategory_index==0)> 
571						<span class="curPage-title" style="font-size: 17px;padding-left: 17px;font-weight: bold;">${thisCategory.getName()}</span> 
572					</#if> 
573				</#list> 
574			</#if> 
575			 
576			<div class="article-head"> 
577				<div class="article-info" style="border-top: 0px;border-bottom:0px;margin-top: 5px;margin-left: 11px;"> 
578					<div class="social-buttons pull-left"> 
579                        ${displayDate} 
580					</div> 
581					<div class="social-buttons pull-right"> 
582					    <a class="social-thing" onclick="voiceSpeak('contentText','voiceSex')"; style="margin-right: 5px;" 
583							data-toggle="tooltip" title="Đọc bài viết"> 
584							<img class="volume-up" src="/o/portal-dt-home-theme/images/icons/trothinh_volume-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
585						</a> 
586						<a id="void-pause" class="social-thing" onclick="voicePause()"; style="margin-right: 1px;display:none;" 
587							data-toggle="tooltip" title="Tạm dừng đọc"> 
588							<span class="fa fa-pause" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/> 
589						</a> 
590						<a id="void-resume" class="social-thing" onclick="voiceResume()"; style="margin-right: 1px;display:none;" 
591							data-toggle="tooltip" title="Tiếp tục đọc"> 
592							<span class="fa fa-repeat" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"></span> 
593						</a> 
594						<a id="void-stop" class="social-thing" onclick="voiceCancel()"; style="margin-right: 1px;display:none;" 
595							data-toggle="tooltip" title="Dừng đọc"> 
596							<span class="fa fa-stop"style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/> 
597						</a> 
598						<a class="social-thing" style="margin-right: 5px;"> 
599							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
600						</a> 
601						<a class="social-thing" onclick="giamTuongPhan();" style="margin-right: 5px;" 
602							data-toggle="tooltip" title="Giảm tương phản"> 
603							<img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
604						</a> 
605						<a class="social-thing" onclick="tangTuongPhan();" style="margin-right: 5px;" 
606							data-toggle="tooltip" title="Tăng tương phản"> 
607							<img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
608						</a> 
609						<a class="social-thing" style="margin-right: 5px;"> 
610							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
611						</a> 
612						<a class="social-thing" onclick="fontMinus();" style="margin-right: 5px;" 
613							data-toggle="tooltip" title="Giảm cỡ chữ"> 
614							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
615						</a> 
616						<a class="social-thing" onclick="fontDefault();" style="margin-right: 5px;" 
617							data-toggle="tooltip" title="Cỡ chữ mặc định"> 
618							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
619						</a> 
620						<a class="social-thing" onclick="fontPlus();" style="margin-right: 5px;" 
621							data-toggle="tooltip" title="Tăng cỡ chữ"> 
622							<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
623						</a> 
624						<a class="social-thing" style="margin-right: 5px;"> 
625							<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
626						</a> 
627						<a class="social-thing" onclick="printPage('contentText');" style="margin-right: 5px;" 
628							data-toggle="tooltip" title="In bài viết"> 
629							<img src="/o/portal-dt-home-theme/images/icons/trothinh_print-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
630						</a> 
631						<a class="social-thing" onclick="generatePDF();" style="margin-right: 5px;" 
632							data-toggle="tooltip" title="Lưu bài viết"> 
633							<img src="https://dongthap.gov.vn/documents/34223/4699960/dl.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
634						</a> 
635						<a class="social-thing" href="https://mail.google.com/mail/?view=cm&fs=1&su=${title}&body=${currentUrl}" style="margin-right: 5px;" 
636							data-toggle="tooltip" title="Gửi mail" target="_blank"> 
637							<img src="/o/portal-dt-home-theme/images/icons/trothinh_mail-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;height:13px"/> 
638						</a> 
639					</div> 
640					<input type="hidden" id="voiceSex" value="Vietnamese Female"></input> 
641					<input type="hidden" id="tuongphan" value="3"></input> 
642					<input type="hidden" id="baiVietId" name="baiVietId" value="${articlePrimKey}"></input> 
643					<input type="hidden" id="commentId" name="commentId" value=""></input> 
644					<input type="hidden" id="tieuDe" name="tieuDe" value="${title?html}"></input> 
645					<input type="hidden" id="articleCatIds" name="articleCatIds" value="${articleCatIds}"></input> 
646					<input type="hidden" value="1" id="curPage"/> 
647					<input type="hidden" value="0" id="totalRelated"/> 
648				</div> 
649			</div> 
650		</div> 
651		<div class="clearfix"></div> 
652		<div id="contentText"  style="margin-top:20px; line-height:2.0"> 
653		<input type="hidden" id="thumbnailUrl" name="thumbnailUrl" value="${imageUrl}"></input> 
654			<h2 class="title-divvv" style="color: #ed0678;font-weight: bold;font-size:22px">${title}</h2> 
655		    <div class="tomtat">${summary}</div> 
656		    ${noiDung.getData()} 
657		</div> 
658		<div class="mb-3 pr-3" style="width:100%;display: inline-block;"> 
659			<#if tacGia?has_content && tacGia.getOptions()?has_content> 
660				<#list tacGia.getOptions() as item>  
661					<#if item?has_content> 
662						<#assign u = userLocalService.fetchUser(item?number)/>	 
663							<#if u?has_content> 
664								<#if u.getExpandoBridge()?has_content && u.getExpandoBridge().getAttribute("Bút danh")?has_content && u.getExpandoBridge().getAttribute("Email cá nhân")?has_content> 
665									<#assign ten = u.getExpandoBridge().getAttribute("Bút danh")/> 
666									<#assign email = u.getExpandoBridge().getAttribute("Email cá nhân")/> 
667								</#if> 
668								<#assign portraitURL = u.getPortraitURL(themeDisplay)/> 
669								<#if ten?has_content && email?has_content> 
670									<div class="right d-flex ml-3"> 
671										<div style="text-align:right"> 
672											<span><b>${ten}</b></span><br> 
673											<span>${email}</span> 
674										</div> 
675										<div class="ml-2"> 
676											<span class="sticker"> 
677												<span class="inline-item" id="personal-menu-icon-wrapper"> 
678													<span class="rounded-circle sticker" style="width:2.5rem;height:2.5rem"> 
679														<span class="sticker-overlay"> 
680															<img alt="thumbnail" class="img-fluid" src="${portraitURL}"> 
681														</span> 
682													</span> 
683												</span>	 
684											</span> 
685										</div> 
686									</div> 
687								</#if> 
688							</#if> 
689					</#if> 
690				</#list> 
691			</#if> 
692			<#if congTacVien?has_content && congTacVien.tenCongTacVien?has_content && congTacVien.emailCongTacVien?has_content && congTacVien.tenCongTacVien.getData()?has_content> 
693				<#assign tenCongTacVien = congTacVien.tenCongTacVien.getData()/> 
694				<#assign emailCongTacVien = congTacVien.emailCongTacVien.getData()/> 
695				<div class="right d-flex ml-3"> 
696					<div style="text-align:right"> 
697						<span><b>${tenCongTacVien}</b></span><br> 
698						<span>${emailCongTacVien}</span> 
699					</div> 
700					<div class="ml-2"> 
701						<span class="sticker"> 
702							<span class="inline-item" id="personal-menu-icon-wrapper"> 
703								<span class="rounded-circle sticker" style="width:2.5rem;height:2.5rem"> 
704									<span class="sticker-overlay"> 
705										<img alt="thumbnail" class="img-fluid" src="/documents/34223/2640277/avata.jpg"> 
706									</span> 
707								</span> 
708							</span>	 
709						</span> 
710					</div> 
711				</div> 
712			</#if> 
713		</div> 
714		 
715		<div class="article-info"> 
716			<div class="social-buttons"> 
717				<button class="quantam" id="quantam" onclick="follow(${articlePrimKey},'${title?html}');">					 
718				</button> 
719                <!-- <div class="zalo-follow-only-button" data-oaid="3540423014405379625" style="width: 88px;"></div> --> 
720                <div class="zalo-share-button" data-href="${currentUrl}" data-oaid="4499765515963062717" data-layout="1" data-color="blue"></div> 
721                <iframe src="${srcfb}" width="140" height="35" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe> 
722		    </div> 
723			<#if listLayoutDHD?seq_index_of(layo) &gt; -1 > 
724				<#if teste?has_content> 
725					<div class="tinkhac"> 
726						<div class="bg-tinkhac"></div> 
727						<ul class="list-unstyled"> 
728						<#list teste as curEntryyy> 
729							<#assign  
730							renderer = curEntryyy.getAssetRenderer()  
731							className = renderer.getClassName() /> 
732						<#if className == "com.liferay.journal.model.JournalArticle"> 
733							<#assign  
734									title = curEntryyy.getTitle(locale)  
735									article = renderer.getArticle()  
736									description = article.getDescription(locale)  
737									curEntryyy = curEntryyy  
738									viewURL = "/chi-tiet-chuyen-trang-dh-dang/-/asset_publisher/hPvLbtAWEWEb/content/id/${curEntryyy.getEntryId()}?plidlayout=${themeDisplay.getLayout().getPlid()}" /> 
739							<#if description?has_content && description?length &gt; 300> 
740								<#assign description = description?substring(0,300) + " ..."/> 
741							</#if> 
742 
743									<#if curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest)??> 
744										<#assign smallImageUrl = curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest) > 
745										<#else> 
746											<#assign smallImageUrl = "" > 
747									</#if> 
748									<li><a href="${viewURL}">${title}</a></li> 
749							 
750						</#if> 
751						</#list> 
752						</ul> 
753					</div> 
754				</#if> 
755			<#else> 
756			<p class="other-news">CÓ THỂ BẠN QUAN TÂM</p> 
757			<div class="social-buttons pull-right"> 
758				<div> 
759					 
760				</div> 
761				<div class="row ml-0 mr-0 relatedentry" id="relatedentry"></div> 
762			</div> 
763			</#if> 
764			 
765			<div style="text-align: center"> 
766				<div class="pagination2" style="position: relative; justify-content: center;"> 
767					Hiển thị  
768					<select id="pageSize" onchange="changePageSize();"> 
769						<option>6</option> 
770						<option>10</option> 
771						<option>20</option> 
772					</select>  
773					Tới trang  
774					<select id="pageIndex" onchange="changePageIndex();"> 
775						<option>1</option> 
776					</select>  
777					của <span id="totalPage" style="vertical-align: middle;font-size: 12px;">135</span> 
778					<a id="previousP" onclick="previousPP();">&lt;</a> 
779					<a id="nextP" onclick="nextPP();">&gt;</a>					 
780				</div> 
781			</div> 
782		</div> 
783		 
784		<h2 class="botting-border">Ý kiến của bạn</h2> 
785		<section class="form-gradient"> 
786			<div style="padding-bottom: 1px" class="buttonIn"> 
787				<textarea id="commentContent" class="md-textarea" rows="3" required="true" placeholder="Nhập ý kiến của bạn..."></textarea> 
788				<button type="button" class="btnsend"><i class="fa fa-paper-plane"></i> Gửi</button>					 
789			</div> 
790			<form> 
791				<div class="modal-thongtin"> 
792					<div class="modal-thongtin-content"> 
793						<span class="close">&times;</span> 
794						<h3>Thông tin độc giả</h3> 
795						<div class="row mb-2"> 
796							<div class="col-sm-2 align-self-center"> 
797								<label for="commentName" class="mb-1">Họ tên (<red style="color: red;">*</red>)</label> 
798							</div> 
799							<div class="col-sm-10  pl-2"> 
800								<input type="text" id="commentName" class="form-control" required="true"> 
801							</div> 
802						</div> 
803						<div class="row mb-2"> 
804							<div class="col-sm-2 align-self-center"> 
805								<label for="commentAddress" class="mb-1">Địa chỉ (<red style="color: red;">*</red>)</label> 
806							</div> 
807							<div class="col-sm-10  pl-2"> 
808								<input type="text" id="commentAddress" class="form-control" required="true"> 
809							</div> 
810						</div> 
811						<div class="row mb-2"> 
812							<div class="col-sm-2 align-self-center"> 
813								<label for="commentEmail" class="mb-1">Địa chỉ email (<red style="color: red;">*</red>)</label> 
814							</div> 
815							<div class="col-sm-10 pl-2"> 
816								<input type="email" id="commentEmail" class="form-control valid-email" required="true"> 
817							</div> 
818						</div> 
819						<div class="d-flex justify-content-end" style="margin: 0 24px 10px 0"> 
820							<button type="button" class="button-dt"><i class="fa fa-paper-plane"></i> Gửi</button> 
821							<button type="button" class="button-dt-close">Đóng</button> 
822						</div> 
823					</div> 
824				</div> 
825			</form> 
826			<form> 
827				<div class="modal-thongtin-reply"> 
828					<div class="modal-thongtin-content"> 
829						<span class="close">&times;</span> 
830						<h3>Thông tin độc giả</h3> 
831						<div class="row mb-2"> 
832							<div class="col-sm-2 align-self-center"> 
833								<label for="commentNameReply" class="mb-1">Họ tên (<red style="color: red;">*</red>)</label> 
834							</div> 
835							<div class="col-sm-10  pl-2"> 
836								<input type="text" id="commentNameReply" class="form-control" required="true"> 
837								<input type="hidden" id="commentContentReply" class="form-control" required="true"> 
838							</div> 
839						</div> 
840						<div class="row mb-2"> 
841							<div class="col-sm-2 align-self-center"> 
842								<label for="commentAddressReply" class="mb-1">Địa chỉ (<red style="color: red;">*</red>)</label> 
843							</div> 
844							<div class="col-sm-10  pl-2"> 
845								<input type="text" id="commentAddressReply" class="form-control" required="true"> 
846							</div> 
847						</div> 
848						<div class="row mb-2"> 
849							<div class="col-sm-2 align-self-center"> 
850								<label for="commentEmailReply" class="mb-1">Địa chỉ email (<red style="color: red;">*</red>)</label> 
851							</div> 
852							<div class="col-sm-10 pl-2"> 
853								<input type="email" id="commentEmailReply" class="form-control valid-email" required="true"> 
854							</div> 
855						</div> 
856						<div class="d-flex justify-content-end" style="margin: 0 24px 10px 0"> 
857							<button type="button" class="button-dt-reply"><i class="fa fa-paper-plane"></i> Gửi</button> 
858							<button type="button" class="button-dt-reply-close">Đóng</button> 
859						</div> 
860					</div> 
861				</div> 
862			</form> 
863		</section> 
864		<div class="comment-list"> 
865			<div style="width:100%;display:inline-block;background: gainsboro;"> 
866				<p style="color:#ed0678;margin: 4px;" class="left"><b>Ý kiến bạn đọc</b> (<span id="comment-count">0</span>)</p> 
867			</div> 
868			<div id="comment-show-list">	 
869				 
870			</div> 
871		</div> 
872	 
873	</div> 
874</div> 
875<#macro getMetadataField 
876 	fieldName 
877
878 	<#if stringUtil.split(metadataFields)?seq_contains(fieldName)> 
879 		<span class="metadata-entry metadata-${fieldName}"> 
880 			<#assign dateFormat = "dd MMM yyyy - HH:mm:ss" /> 
881  
882 			<#if stringUtil.equals(fieldName, "author")> 
883 				<@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))} 
884 			<#elseif stringUtil.equals(fieldName, "categories")> 
885 				<@liferay_asset["asset-categories-summary"] 
886 					className=curEntry.getClassName() 
887 					classPK=curEntry.getClassPK() 
888 					portletURL=renderResponse.createRenderURL() 
889 				/> 
890 			<#elseif stringUtil.equals(fieldName, "create-date")> 
891 				${dateUtil.getDate(curEntry.getCreateDate(), dateFormat, locale)} 
892 			<#elseif stringUtil.equals(fieldName, "expiration-date")> 
893 				${dateUtil.getDate(curEntry.getExpirationDate(), dateFormat, locale)} 
894 			<#elseif stringUtil.equals(fieldName, "modified-date")> 
895 				${dateUtil.getDate(curEntry.getModifiedDate(), dateFormat, locale)} 
896 			<#elseif stringUtil.equals(fieldName, "priority")> 
897 				${curEntry.getPriority()} 
898 			<#elseif stringUtil.equals(fieldName, "publish-date")> 
899 				${dateUtil.getDate(curEntry.getPublishDate(), dateFormat, locale)} 
900 			<#elseif stringUtil.equals(fieldName, "tags")> 
901 				<@liferay_asset["asset-tags-summary"] 
902 					className=curEntry.getClassName() 
903 					classPK=curEntry.getClassPK() 
904 					portletURL=renderResponse.createRenderURL() 
905 				/> 
906 			<#elseif stringUtil.equals(fieldName, "view-count")> 
907 				${curEntry.getViewCount()} <@liferay.language key="views" /> 
908 			</#if> 
909 		</span> 
910 	</#if> 
911</#macro> 
912 
913<script type="text/javascript"> 
914		$(document).ready(function () { 
915			var imageURL = document.getElementById('thumbnailUrl').value; 
916			var ogmetatag = document.createElement('meta'); 
917			ogmetatag.setAttribute('property', 'og:image'); 
918			ogmetatag.setAttribute('content', imageURL); 
919			document.head.appendChild(ogmetatag); 
920			 
921		}) 
922</script>