Xuất bản thông tin

null Thông báo về việc đăng ký xét tuyển đào tạo theo đặt hàng hệ chính qui, tại Khoa Y – Đại học Quốc gia TP. Hồ Chí Minh, năm 2023

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

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