Xuất bản thông tin

null Chống dịch Covid-19: Không xa lánh, phân biệt đối xử với người nước ngoài

Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
The following has evaluated to null or missing:
==> layoutService.fetchLayout(plidlayout?number)  [in template "34201#34227#43055" at line 284, column 19]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

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

Follow

Tin xem nhiều

Danh mục chính Menu

Danh mục chính Menu

Banner Bản tin chỉ đạo điều hành

Banner Video

Banner Megastory

Banner Tin đồ họa

Tin nổi bật