Xuất bản thông tin

null Đoàn công tác Quốc hội làm việc với Đồng Tháp về Luật Chuyển đổi số

Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
Java method "com.sun.proxy.$Proxy2613.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy2613 object "com.liferay.journal.change.tracking.internal.service.CTJournalArticleLocalServiceWrapper@1ae07e68"; 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>