Tòa nhà Khát vọng - “trái tim” quyết định nhịp đập trên hành trình đổi mới mạnh mẽ về tư duy giáo dục
Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
Java method "com.sun.proxy.$Proxy2492.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy2492 object "com.liferay.journal.change.tracking.internal.service.CTJournalArticleLocalServiceWrapper@616bb5e5"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign article = journalArticleLocal... [in template "34201#34227#43055" at line 297, column 1] ----
1<style>
2 #contentText img{
3 opacity: 1 !important;
4 }
5 .other-news {
6 color: #cb373b;
7 font-weight: bold;
8 margin-top: 5px;
9 margin-bottom: 3px;
10 overflow: hidden;
11 }
12 .other-news:after {
13 content:"";
14 display: inline-block;
15 height: 0.5em;
16 vertical-align: bottom;
17 width: 100%;
18 margin-right: -100%;
19 margin-left: 10px;
20 border-top: 1px solid #cb373b;
21 }
22 .date-span {
23 color: #888888;
24 font-size: 14px;
25 font-weight: normal;
26 }
27 .limit-tit {
28 display: block;
29 text-overflow: ellipsis;
30 word-wrap: break-word;
31 overflow: hidden;
32 max-height: 6em;
33 display: -webkit-box;
34 -webkit-line-clamp: 2;
35 -webkit-box-orient: vertical;
36 margin: 0;
37 }
38 @media only screen and (min-width: 768px) {
39 .other-imgs {
40 height: 60px;
41 }
42 }
43 @media only screen and (max-width: 500px) {
44 .curPage-title {
45 display: none;
46 }
47 .title-divvv {
48 text-align: justify;
49 margin-top: 50px;
50 }
51 }
52 .pagination2 {
53 display: inline-block;
54 }
55
56 .pagination2 a {
57 cursor: pointer;
58 color: black;
59 padding: 8px 16px;
60 text-decoration: none;
61 transition: background-color .3s;
62 border: 1px solid #ddd;
63 margin: 0px;
64 }
65
66 .pagination2 select {
67 cursor: pointer;
68 padding: 6px 6px;
69 margin: 0px;
70 }
71
72 .pagination2 a.active {
73 background-color: #4CAF50;
74 color: white;
75 border: 1px solid #4CAF50;
76 }
77
78 .pagination2 a:hover:not(.active) {
79 background-color: #ddd;
80 }
81 .tieuDe-asset::after {
82 position: absolute;
83 content: "";
84 left: 100%;
85 top: 0;
86 border-top: 14px solid transparent;
87 border-bottom: 15px solid transparent;
88 border-left: 13px solid darkgray;
89 }
90 .asset-full-content.clearfix.mb-5.show-asset-title {
91 margin-bottom: 0 !important;
92 }
93 .article-head {
94 margin-bottom: 0;
95 }
96 @media only screen and (max-width: 768px) {
97 #contentText iframe {
98 width: 100% !important;
99 }
100 .article-head .article-info {
101 margin-bottom: 0;
102 padding: 15px 0 8px 0;
103 }
104 }
105 @media only screen and (max-width: 500px) {
106 .curPage-title {
107 display: unset !important;
108 }
109 }
110 button.quantam {
111 background-color: red;
112 border: red solid 2.5px;
113 border-radius: 3px;
114 color: white;
115 font-size: 13px;
116 }
117 .botting-border {
118 width: 145px;
119 color: #292a32;
120 background: unset;
121 font-family: "Roboto Slab";
122 text-transform: unset;
123 font-weight: bold;
124 font-size: 20px;
125 margin-bottom: 15px;
126 border-bottom: 3px solid #d1d2d4;
127 }
128 .botting-border:after {
129 content: '';
130 display: block;
131 border-bottom: 3px solid #ed0678;
132 margin-bottom: -3px;
133 max-width: 32%;
134 }
135
136 .buttonIn {
137 position: relative;
138 }
139
140 .btnsend {
141 color: #FFF;
142 background-color: #EC0677;
143 border-color: #EC0677;
144 padding: 3px 0.75rem;
145 position: absolute;
146 border-radius: 1px;
147 right: 20px;
148 z-index: 2;
149 border: none;
150 top: 22px;
151 height: 30px;
152 cursor: pointer;
153 transform: translateX(2px);
154 }
155 .button-dt {
156 color: #FFF;
157 background-color: #EC0677;
158 border-color: #EC0677;
159 padding: 3px 0.75rem;
160 border-radius: 1px;
161 height: 30px;
162 margin: 3px;
163 }
164 .button-dt-close {
165 color: #FFF;
166 background-color: #EC0677;
167 border-color: #EC0677;
168 padding: 3px 0.75rem;
169 border-radius: 1px;
170 height: 30px;
171 margin: 3px;
172 }
173 .md-textarea {
174 margin: 0px;
175 padding: 30px 70px 0px 15px;
176 width: 100%;
177 height: 80px;
178 outline: none;
179 border-radius: 3px;
180 }
181 .comment{
182 display: inline-block;
183 margin-top: 5px;
184 width: 100%;
185 }
186 .comment-text{
187 padding-left: 51px;
188 margin-top: -9px;
189 font-size: 14px;
190 }
191
192 .comment-child{
193 margin-left:35px;
194 }
195
196
197 .modal-thongtin {
198 display: none;
199 position: fixed;
200 z-index: 1;
201 padding-top: 100px;
202 left: 0;
203 top: 0;
204 width: 100%;
205 height: 100%;
206 overflow: auto;
207 background-color: rgb(0, 0, 0);
208 background-color: rgba(0, 0, 0, .4);
209 }
210
211 .modal-thongtin-reply {
212 display: none;
213 position: fixed;
214 z-index: 1;
215 padding-top: 100px;
216 left: 0;
217 top: 0;
218 width: 100%;
219 height: 100%;
220 overflow: auto;
221 background-color: rgb(0, 0, 0);
222 background-color: rgba(0, 0, 0, .4);
223 }
224
225 .modal-thongtin-content {
226 background-color: #fefefe;
227 margin: auto;
228 padding: 20px;
229 border: 1px solid #888;
230 width: 60%;
231 }
232
233 .close {
234 color: #aaaaaa;
235 float: right;
236 font-size: 28px;
237 font-weight: bold;
238 }
239
240 .close:hover,
241 .close:focus {
242 color: #000;
243 text-decoration: none;
244 cursor: pointer;
245 }
246
247 .btnreply {
248 color: #FFF;
249 background-color: #EC0677;
250 border-color: #EC0677;
251 padding: 3px 0.75rem;
252 border: none;
253 height: 33px;
254 }
255.tomtat p{
256 text-align: justify;
257 font-size:12pt !important;
258 line-height:160% !important;
259 font-weight:bold;
260}
261sup {
262 top: 6px !important;
263 font-size: 8px !important;
264}
265
266</style>
267
268<script>
269 $(document).ready(function () {
270 const divs = document.querySelectorAll('.nav-link');
271 divs.forEach(el => el.addEventListener('click', event => {
272 location.href = event.target.getAttribute("href");
273
274 }));
275
276 });
277</script>
278<#assign
279 title = .vars['reserved-article-title'].data
280 portalURL = themeDisplay.getPortalURL()
281 currentUrl = portalURL + themeDisplay.getURLCurrent()
282 imageUrl = portalURL + .vars['reserved-article-small-image-url'].data
283 srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=172&layout=button_count&action=like&size=small&share=true&height=46&appId=2034212100232051"
284 displayDate = .vars['reserved-article-display-date'].data
285 summary = .vars['reserved-article-description'].data/>
286
287
288
289<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
290
291<#assign scopeId = themeDisplay.getScopeGroupId()>
292
293<#assign thumnail_logo = "https://thunghiem.dongthap.gov.vn/o/portal-dt-home-theme/images/dong-thap/banner-vietnamese.jpg">
294
295<#assign contentId = .vars['reserved-article-id'].data>
296
297<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId)>
298<#assign articlePrimKey = article.resourcePrimKey>
299<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")>
300<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
301<#assign articleCatId = catLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))>
302
303<#assign categoryList = catLocalService.getAssetEntryAssetCategories(getterUtil.getLong(articlePrimKey))>
304
305<#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
306<#if (request.getParameter("plidlayout")?has_content)>
307 <#assign plidlayout = request.getParameter("plidlayout") />
308 <#else>
309 <#assign plidlayout = 2 />
310</#if>
311<#assign layout = layoutService.fetchLayout(plidlayout?number) />
312<#assign curLayout = layoutService.fetchLayout(plid?number) />
313<#assign pageTitle = layout.getName(locale) />
314<#assign pageUrl = layout.getFriendlyURL(locale) />
315<#assign curPageTitle = curLayout.getName(locale) />
316<#assign originalLocale = .locale>
317<#setting locale = localeUtil.getDefault()>
318<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
319<#assign locale = originalLocale>
320<#assign displayDate = displayDate?string("HH:mm dd/MM/yyyy")>
321
322<#assign listLayoutDHD = [5474,5512,179]>
323<#assign layo = themeDisplay.getPlid() />
324<#assign articleCatIds = "" />
325<#list articleCatId as item>
326 <#assign articleCatIds = articleCatIds + item + "," />
327</#list>
328
329<#assign assetEntryQueryService = objectUtil('com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil')>
330
331<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')>
332
333
334
335<#assign search = assetEntryQuery.setAllCategoryIds(articleCatId)>
336<#assign search = assetEntryQuery.setOrderByCol1("publishDate")/>
337<#assign search = assetEntryQuery.setStart(0)/>
338<#assign search = assetEntryQuery.setEnd(10)/>
339<#assign search = assetEntryQuery.setOrderByType1("DESC")/>
340
341<#assign teste = assetEntryQueryService.getEntries(assetEntryQuery)
342 totalPage = 0/>
343
344 <meta name="DC.Description" content="${summary?replace("<p>","")?replace("</p>","")}">
345 <meta name="DC.DateCreated" content="${displayDate}">
346 <meta name="DC.Title" content="${title}">
347 <meta name="DC.Coverage" content="Việt Nam">
348 <meta name="DC.Creator" content="Admin Cổng thông tin Đồng Tháp">
349 <meta name="DC.Publisher" content="Cơ quan phát ngôn của tỉnh Đồng Tháp">
350 <meta name="DC.Subject" content="${title}">
351 <meta name="DC.Relation" content="">
352 <meta name="DC.Rights" content="Bất kỳ ai cũng có quyền truy cập">
353 <meta name="DC.Type" content="Text">
354 <meta name="DC.DateIssued" content="${displayDate}">
355 <meta name="DC.Format" content="text/html">
356 <meta name="DC.Identifier" content="https://dongthap.gov.vn">
357 <meta name="DC.Language" content="Việt Nam">
358 <meta name="DC.DateValid" content="${displayDate}">
359 <meta name="DC.DateModified" content="${displayDate}">
360
361
362
363<script>
364
365
366 $(document).ready(function () {
367 var modal = $('.modal-thongtin');
368 var btn = $('.btnsend');
369 var button_dt = $('.button-dt');
370 var button_dt_close = $('.button-dt-close');
371 var span = $('.close');
372 var baiVietId = $('#baiVietId');
373 var tieuDe = $('#tieuDe');
374 var commentContent = $('#commentContent');
375 var commentName = $('#commentName');
376 var commentAddress = $('#commentAddress');
377 var commentEmail = $('#commentEmail');
378
379 btn.click(function () {
380 if (commentContent.val().length == 0) {
381 alert('Vui lòng nhập nội dung ý kiến!');
382 } else {
383 modal.show();
384 btn.hide();
385 }
386 });
387
388 button_dt.click(function () {
389 const valid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
390 if (commentName.val().length == 0) {
391 commentName.css('border-color', 'red');
392 commentName.focus();
393 } else if (commentAddress.val().length == 0) {
394 commentAddress.css('border-color', 'red');
395 commentAddress.focus();
396 } else if (commentEmail.val().length == 0) {
397 commentEmail.css('border-color', 'red');
398 commentEmail.focus();
399 } else if (!valid.test(commentEmail.val())) {
400 commentEmail.css('border-color', 'red');
401 commentEmail.focus();
402 alert('Vui lòng nhập đúng email!');
403 }else {
404 comment(baiVietId.val(), tieuDe.val(), commentContent.val(), commentName.val(), commentAddress.val(), commentEmail.val(), ${groupId});
405 commentContent.val('');
406 commentName.val('');
407 commentAddress.val('');
408 commentEmail.val('');
409 modal.hide();
410 btn.show();
411
412 }
413 });
414
415 button_dt_close.click(function () {
416 commentContent.val('');
417 commentName.val('');
418 commentAddress.val('');
419 commentEmail.val('');
420 commentName.css('border-color', '#ccc');
421 commentAddress.css('border-color', '#ccc');
422 commentEmail.css('border-color', '#ccc');
423 modal.hide();
424 btn.show();
425
426 });
427
428 span.click(function () {
429 commentContent.val('');
430 commentName.val('');
431 commentAddress.val('');
432 commentEmail.val('');
433 modal.hide();
434 $('.replyBox').hide();
435 btn.show();
436
437 $('.inputReplyContent').val('');
438 commentNameReply.val('');
439 commentAddressReply.val('');
440 commentEmailReply.val('');
441 modal_reply.hide();
442 $('.replyBox').hide();
443 btnreply.show();
444 });
445
446 $(window).on('click', function (e) {
447 if ($(e.target).is('.modal-thongtin')) {
448 commentContent.val('');
449 commentName.val('');
450 commentAddress.val('');
451 commentEmail.val('');
452 modal.hide();
453 btn.show();
454 }
455 if ($(e.target).is('.modal-thongtin-reply')) {
456 $('.inputReplyContent').val('');
457 commentNameReply.val('');
458 commentAddressReply.val('');
459 commentEmailReply.val('');
460 modal_reply.hide();
461 btnreply.show();
462 }
463 });
464
465
466 var modal_reply = $('.modal-thongtin-reply');
467 var btnreply = $('.btnreply');
468 var button_dt_reply = $('.button-dt-reply');
469 var button_dt_reply_close = $('.button-dt-reply-close');
470 var span = $('.close');
471 var commentNameReply = $('#commentNameReply');
472 var commentAddressReply = $('#commentAddressReply');
473 var commentEmailReply = $('#commentEmailReply');
474
475 function submitreply() {
476 var commentId = $('#commentId').val();
477 if ($('#inputReplyContent' + commentId).val().length == 0) {
478 alert('Vui lòng nhập nội dung ý kiến!');
479 } else {
480 modal_reply.show();
481 $('#commentContentReply').val($('#inputReplyContent' + commentId).val());
482 btnreply.hide();
483 }
484 }
485
486 button_dt_reply.click(function () {
487 if (commentNameReply.val().length == 0) {
488 commentNameReply.css('border-color', 'red');
489 } else if (commentAddressReply.val().length == 0) {
490 commentAddressReply.css('border-color', 'red');
491 } else if (commentEmailReply.val().length == 0) {
492 commentEmailReply.css('border-color', 'red');
493 } else {
494 replyComment($('#commentId').val(),baiVietId.val(), tieuDe.val(), $('#commentContentReply').val(), commentNameReply.val(), commentAddressReply.val(), commentEmailReply.val());
495 $('.inputReplyContent').val('');
496 commentNameReply.val('');
497 commentAddressReply.val('');
498 commentEmailReply.val('');
499 modal_reply.hide();
500 }
501 });
502
503 button_dt_reply_close.click(function () {
504 $('.inputReplyContent').val('');
505 commentNameReply.val('');
506 commentAddressReply.val('');
507 commentEmailReply.val('');
508 modal_reply.hide();
509
510 });
511 });
512
513 function submitreply() {
514 var commentId = $('#commentId').val();
515 if ($('#inputReplyContent' + commentId).val().length == 0) {
516 alert('Vui lòng nhập nội dung ý kiến!');
517 } else {
518 $('.modal-thongtin-reply').show();
519 $('#commentContentReply').val($('#inputReplyContent' + commentId).val());
520 $('.btnreply').hide();
521 }
522 }
523
524 function changePageSize(){
525 var pageSize = $('#pageSize').val();
526 var pageIndex = $('#pageIndex').val();
527 paginate(pageIndex, pageSize);
528 }
529
530 function changePageIndex(){
531 var pageSize = $('#pageSize').val();
532 var pageIndex = $('#pageIndex').val();
533 $('#curPage').val(pageIndex);
534 paginate(pageIndex, pageSize);
535 }
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>