Publicador de continguts

null Phó Chủ tịch Quốc hội gặp gỡ lãnh đạo 102 xã, phường tỉnh Đồng Tháp

S'ha produït un error mentre es processava la plantilla.
Java method "com.sun.proxy.$Proxy1747.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy1747 object "com.liferay.journal.change.tracking.internal.service.CTJournalArticleLocalServiceWrapper@592a05dd"; see cause exception in the Java stack trace.

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