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