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