Xuất bản thông tin

null Đẩy nhanh tiến độ giải phóng mặt bằng cao tốc Mỹ Thuận - Cần Thơ

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 nổi bật

Tin xem nhiều

Danh mục chính Menu

Chính quyền với báo chí

Mục này cập nhật liên tục thông tin nổi bật của báo chí trong và ngoài tỉnh về vùng đất Sen Hồng

Phản hồi báo chí
Thông cáo báo chí
Người phát ngôn
Báo chí với Đồng Tháp

Danh mục chính Menu

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

Banner Video

Banner Tin đồ họa

Banner Megastory