Uỷ ban Mặt trận Tổ quốc Việt Nam tỉnh Đồng Tháp đến chúc mừng các cơ quan báo chí nhân kỷ niệm 100 năm Ngày Báo chí Cách mạng Việt Nam
Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
Java method "com.sun.proxy.$Proxy2592.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy2592 object "com.liferay.journal.change.tracking.internal.service.CTJournalArticleLocalServiceWrapper@5c3dd2c7"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign articlePrimKey = JournalArtic... [in template "34201#34227#43055" at line 528, column 9] ----
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 float: left;
57 padding: 8px 16px;
58 text-decoration: none;
59 transition: background-color .3s;
60 border: 1px solid #ddd;
61 margin: 0 4px;
62 }
63
64 .pagination2 a.active {
65 background-color: #4CAF50;
66 color: white;
67 border: 1px solid #4CAF50;
68 }
69
70 .pagination2 a:hover:not(.active) {
71 background-color: #ddd;
72 }
73 .tieuDe-asset::after {
74 position: absolute;
75 content: "";
76 left: 100%;
77 top: 0;
78 border-top: 14px solid transparent;
79 border-bottom: 15px solid transparent;
80 border-left: 13px solid darkgray;
81 }
82 .asset-full-content.clearfix.mb-5.show-asset-title {
83 margin-bottom: 0 !important;
84 }
85 .article-head {
86 margin-bottom: 0;
87 }
88 @media only screen and (max-width: 768px) {
89 #contentText iframe {
90 width: 100% !important;
91 }
92 .article-head .article-info {
93 margin-bottom: 0;
94 padding: 15px 0 8px 0;
95 }
96 }
97 @media only screen and (max-width: 500px) {
98 .curPage-title {
99 display: unset !important;
100 }
101 }
102 .paginate-pagination ul {
103
104 margin: 20px 0;
105 padding: 0;
106 list-style: none;
107
108}
109
110.paginate-pagination ul:after {
111
112 content: ' ';
113 display: table;
114 clear: both;
115
116}
117
118.paginate-pagination ul > li {
119
120 float: left;
121 margin-right: 3px;
122
123}
124
125.paginate-pagination ul > li > a.page {
126
127 display: block;
128 height: 30px;
129 width: 30px;
130 text-align: center;
131 line-height: 30px;
132 border: 1px solid #ddd;
133 background: white;
134 text-decoration: none;
135 cursor: pointer;
136
137}
138
139.paginate-pagination ul > li > a.page:hover { opacity: 0.7; }
140.paginate-pagination ul > li > a.page.active { opacity: 0.7; cursor: default; }
141
142.paginate-pagination ul > li > a.page-next.deactive,
143.paginate-pagination ul > li > a.page-prev.deactive { opacity: 0.7; cursor: default; }
144</style>
145<style>
146
147.page_navigation , .alt_page_navigation{
148 padding-bottom: 10px;
149
150}
151
152.page_navigation a, .alt_page_navigation a{
153float: left;
154 width: 32px;
155 text-align: center;
156 padding: 6px 0;
157 border: 1px solid #cdcdcd;
158 border-right: none;
159 background: #fff;
160 color: #45afe4;
161}
162.page_navigation a:hover{
163 cursor: pointer;
164 background: rgb(216, 241, 255);
165}
166.ellipse{
167 float: left;
168 border-right:1px solid #cdcdcd;
169}
170.active_page{
171 background-color:#45afe4 !important;
172 color:#fff !important;
173}
174.component-title{
175display: none;
176}
177.portlet-title-text {
178display: none;
179}
180</style>
181<script type="text/javascript">
182;
183(function($) { /*******************************************************************************************/
184
185 $.fn.pajinate = function(options) {
186 // Set some state information
187 var current_page = 'current_page';
188 var items_per_page = 'items_per_page';
189
190 var meta;
191
192 // Setup default option values
193 var defaults = {
194 item_container_id: '.content',
195 items_per_page: 10,
196 nav_panel_id: '.page_navigation',
197 nav_info_id: '.info_text',
198 num_page_links_to_display: 10,
199 start_page: 0,
200 wrap_around: false,
201 nav_label_first: 'First',
202 nav_label_prev: 'Prev',
203 nav_label_next: 'Next',
204 nav_label_last: 'Last',
205 nav_order: ["first", "prev", "num", "next", "last"],
206 nav_label_info: 'Showing {0}-{1} of {2} results',
207 show_first_last: true,
208 abort_on_small_lists: false,
209 jquery_ui: false,
210 jquery_ui_active: "ui-state-highlight",
211 jquery_ui_default: "ui-state-default",
212 jquery_ui_disabled: "ui-state-disabled"
213 };
214
215 var options = $.extend(defaults, options);
216 var $item_container;
217 var $page_container;
218 var $items;
219 var $nav_panels;
220 var total_page_no_links;
221 var jquery_ui_default_class = options.jquery_ui ? options.jquery_ui_default : '';
222 var jquery_ui_active_class = options.jquery_ui ? options.jquery_ui_active : '';
223 var jquery_ui_disabled_class = options.jquery_ui ? options.jquery_ui_disabled : '';
224
225 return this.each(function() {
226 $page_container = $(this);
227 $item_container = $(this).find(options.item_container_id);
228 $items = $page_container.find(options.item_container_id).children();
229
230 if (options.abort_on_small_lists && options.items_per_page >= $items.size()) return $page_container;
231
232 meta = $page_container;
233
234 // Initialize meta data
235 meta.data(current_page, 0);
236 meta.data(items_per_page, options.items_per_page);
237
238 // Get the total number of items
239 var total_items = $item_container.children().size();
240
241 // Calculate the number of pages needed
242 var number_of_pages = Math.ceil(total_items / options.items_per_page);
243
244 // Construct the nav bar
245 var more = '<a class="ellipse more">...</a>';
246 var less = '<a class="ellipse less">...</a>';
247 var first = !options.show_first_last ? '' : '<a class="first_link ' + jquery_ui_default_class + '" href="">' + options.nav_label_first + '</a>';
248 var last = !options.show_first_last ? '' : '<a style="border:1px solid #cdcdcd;" class="last_link ' + jquery_ui_default_class + '" href="">' + options.nav_label_last + '</a>';
249
250 var navigation_html = "";
251
252 for (var i = 0; i < options.nav_order.length; i++) {
253 switch (options.nav_order[i]) {
254 case "first":
255 navigation_html += first;
256 break;
257 case "last":
258 navigation_html += last;
259 break;
260 case "next":
261 navigation_html += '<a class="next_link ' + jquery_ui_default_class + '" href="">' + options.nav_label_next + '</a>';
262 break;
263 case "prev":
264 navigation_html += '<a class="previous_link ' + jquery_ui_default_class + '" href="">' + options.nav_label_prev + '</a>';
265 break;
266 case "num":
267 navigation_html += less;
268 var current_link = 0;
269 while (number_of_pages > current_link) {
270 navigation_html += '<a class="page_link ' + jquery_ui_default_class + '" href="" longdesc="' + current_link + '">' + (current_link + 1) + '</a>';
271 current_link++;
272 }
273 navigation_html += more;
274 break;
275 default:
276 break;
277 }
278
279 }
280
281 // And add it to the appropriate area of the DOM
282 $nav_panels = $page_container.find(options.nav_panel_id);
283 $nav_panels.html(navigation_html).each(function() {
284
285 $(this).find('.page_link:first').addClass('first');
286 $(this).find('.page_link:last').addClass('last');
287
288 });
289
290 // Hide the more/less indicators
291 $nav_panels.children('.ellipse').hide();
292
293 // Set the active page link styling
294 $nav_panels.find('.previous_link').next().next().addClass('active_page ' + jquery_ui_active_class);
295
296 /* Setup Page Display */
297 // And hide all pages
298 $items.hide();
299 // Show the first page
300 $items.slice(0, meta.data(items_per_page)).show();
301
302 /* Setup Nav Menu Display */
303 // Page number slices
304 total_page_no_links = $page_container.find(options.nav_panel_id + ':first').children('.page_link').size();
305 options.num_page_links_to_display = Math.min(options.num_page_links_to_display, total_page_no_links);
306
307 $nav_panels.children('.page_link').hide(); // Hide all the page links
308 // And only show the number we should be seeing
309 $nav_panels.each(function() {
310 $(this).children('.page_link').slice(0, options.num_page_links_to_display).show();
311 });
312
313 /* Bind the actions to their respective links */
314
315 // Event handler for 'First' link
316 $page_container.find('.first_link').click(function(e) {
317 e.preventDefault();
318
319 movePageNumbersRight($(this), 0);
320 gotopage(0);
321 });
322
323 // Event handler for 'Last' link
324 $page_container.find('.last_link').click(function(e) {
325 e.preventDefault();
326 var lastPage = total_page_no_links - 1;
327 movePageNumbersLeft($(this), lastPage);
328 gotopage(lastPage);
329 });
330
331 // Event handler for 'Prev' link
332 $page_container.find('.previous_link').click(function(e) {
333 e.preventDefault();
334 showPrevPage($(this));
335 });
336
337
338 // Event handler for 'Next' link
339 $page_container.find('.next_link').click(function(e) {
340 e.preventDefault();
341 showNextPage($(this));
342 });
343
344 // Event handler for each 'Page' link
345 $page_container.find('.page_link').click(function(e) {
346 e.preventDefault();
347 gotopage($(this).attr('longdesc'));
348 });
349
350 // Goto the required page
351 gotopage(parseInt(options.start_page));
352 toggleMoreLess();
353 if (!options.wrap_around) tagNextPrev();
354 });
355
356 function showPrevPage(e) {
357 new_page = parseInt(meta.data(current_page)) - 1;
358
359 // Check that we aren't on a boundary link
360 if ($(e).siblings('.active_page').prev('.page_link').length == true) {
361 movePageNumbersRight(e, new_page);
362 gotopage(new_page);
363 }
364 else if (options.wrap_around) {
365 gotopage(total_page_no_links - 1);
366 }
367
368 };
369
370 function showNextPage(e) {
371 new_page = parseInt(meta.data(current_page)) + 1;
372
373 // Check that we aren't on a boundary link
374 if ($(e).siblings('.active_page').next('.page_link').length == true) {
375 movePageNumbersLeft(e, new_page);
376 gotopage(new_page);
377 }
378 else if (options.wrap_around) {
379 gotopage(0);
380 }
381
382 };
383
384 function gotopage(page_num) {
385
386 page_num = parseInt(page_num, 10)
387
388 var ipp = parseInt(meta.data(items_per_page));
389
390 // Find the start of the next slice
391 start_from = page_num * ipp;
392
393 // Find the end of the next slice
394 end_on = start_from + ipp;
395 // Hide the current page
396 var items = $items.hide().slice(start_from, end_on);
397
398 items.show();
399
400 // Reassign the active class
401 $page_container.find(options.nav_panel_id).children('.page_link[longdesc=' + page_num + ']').addClass('active_page ' + jquery_ui_active_class).siblings('.active_page').removeClass('active_page ' + jquery_ui_active_class);
402
403 // Set the current page meta data
404 meta.data(current_page, page_num);
405 /*########## Ajout de l'option page courante + nombre de pages*/
406 var $current_page = parseInt(meta.data(current_page)+1);
407 // Get the total number of items
408 var total_items = $item_container.children().size();
409 // Calculate the number of pages needed
410 var $number_of_pages = Math.ceil(total_items / options.items_per_page);
411 /*##################################################################*/
412 $page_container.find(options.nav_info_id).html(options.nav_label_info.replace("{0}", start_from + 1).
413 replace("{1}", start_from + items.length).replace("{2}", $items.length).replace("{3}", $current_page).replace("{4}", $number_of_pages));
414
415 // Hide the more and/or less indicators
416 toggleMoreLess();
417
418 // Add a class to the next or prev links if there are no more pages next or previous to the active page
419 tagNextPrev();
420
421 // check if the onPage callback is available and call it
422 if (typeof(options.onPageDisplayed) !== "undefined" ) {
423 options.onPageDisplayed.call(this, page_num + 1)
424 }
425
426 }
427
428 // Methods to shift the diplayed index of page numbers to the left or right
429
430
431 function movePageNumbersLeft(e, new_p) {
432 var new_page = new_p;
433
434 var $current_active_link = $(e).siblings('.active_page');
435
436 if ($current_active_link.siblings('.page_link[longdesc=' + new_page + ']').css('display') == 'none') {
437
438 $nav_panels.each(function() {
439 $(this).children('.page_link').hide() // Hide all the page links
440 .slice(parseInt(new_page - options.num_page_links_to_display + 1), new_page + 1).show();
441 });
442 }
443
444 }
445
446 function movePageNumbersRight(e, new_p) {
447 var new_page = new_p;
448
449 var $current_active_link = $(e).siblings('.active_page');
450
451 if ($current_active_link.siblings('.page_link[longdesc=' + new_page + ']').css('display') == 'none') {
452
453 $nav_panels.each(function() {
454 $(this).children('.page_link').hide() // Hide all the page links
455 .slice(new_page, new_page + parseInt(options.num_page_links_to_display)).show();
456 });
457 }
458 }
459
460 // Show or remove the ellipses that indicate that more page numbers exist in the page index than are currently shown
461
462
463 function toggleMoreLess() {
464
465 if (!$nav_panels.children('.page_link:visible').hasClass('last')) {
466 $nav_panels.children('.more').show();
467 }
468 else {
469 $nav_panels.children('.more').hide();
470 }
471
472 if (!$nav_panels.children('.page_link:visible').hasClass('first')) {
473 $nav_panels.children('.less').show();
474 }
475 else {
476 $nav_panels.children('.less').hide();
477 }
478 }
479
480 /* Add the style class ".no_more" to the first/prev and last/next links to allow custom styling */
481
482 function tagNextPrev() {
483 if ($nav_panels.children('.last').hasClass('active_page')) {
484 $nav_panels.children('.next_link').add('.last_link').addClass('no_more ' + jquery_ui_disabled_class);
485 }
486 else {
487 $nav_panels.children('.next_link').add('.last_link').removeClass('no_more ' + jquery_ui_disabled_class);
488 }
489
490 if ($nav_panels.children('.first').hasClass('active_page')) {
491 $nav_panels.children('.previous_link').add('.first_link').addClass('no_more ' + jquery_ui_disabled_class);
492 }
493 else {
494 $nav_panels.children('.previous_link').add('.first_link').removeClass('no_more ' + jquery_ui_disabled_class);
495 }
496 }
497
498 };
499
500})(jQuery);
501</script>
502<script type="text/javascript">
503 $(document).ready(function(){
504 $('#paging_container5').pajinate({
505 nav_label_first : '<<',
506 nav_label_last : '>>',
507 nav_label_prev : '<',
508 nav_label_next : '>'
509 });
510 });
511
512 </script>
513<#assign
514 title = .vars['reserved-article-title'].data
515 portalURL = themeDisplay.getPortalURL()
516 currentUrl = portalURL + themeDisplay.getURLCurrent()
517 imageUrl = portalURL + .vars['reserved-article-small-image-url'].data
518 srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=172&layout=button_count&action=like&size=small&share=true&height=46&appId"
519 displayDate = .vars['reserved-article-display-date'].data
520 summary = .vars['reserved-article-description'].data/>
521
522 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
523
524 <#assign scopeId = themeDisplay.getScopeGroupId()>
525
526 <#assign contentId = .vars['reserved-article-id'].data>
527
528 <#assign articlePrimKey = JournalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId).resourcePrimKey>
529
530 <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
531 <#assign articleCatId = catLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))>
532
533 <#assign categoryList = catLocalService.getAssetEntryAssetCategories(getterUtil.getLong(articlePrimKey))>
534
535 <#assign assetEntryQueryService = objectUtil('com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil')>
536
537 <#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')>
538
539
540 <#assign search = assetEntryQuery.setAllCategoryIds(articleCatId)>
541 <#assign search = assetEntryQuery.setOrderByCol1("publishDate")/>
542 <#assign search = assetEntryQuery.setOrderByType1("DESC")/>
543
544 <#assign teste = assetEntryQueryService.getEntries(assetEntryQuery)
545 totalPage = 0/>
546
547<#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
548<#if (request.getParameter("plidlayout")?has_content)>
549 <#assign plidlayout = request.getParameter("plidlayout") />
550 <#else>
551 <#assign plidlayout = 2 />
552</#if>
553<#assign layout = layoutService.fetchLayout(plidlayout?number) />
554<#assign curLayout = layoutService.fetchLayout(plid?number) />
555<#assign pageTitle = layout.getName(locale) />
556<#assign pageUrl = layout.getFriendlyURL(locale) />
557<#assign curPageTitle = curLayout.getName(locale) />
558<#assign originalLocale = .locale>
559<#setting locale = localeUtil.getDefault()>
560<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
561<#assign locale = originalLocale>
562<#assign displayDate = displayDate?string("HH:mm dd/MM/yyyy")>
563
564<#assign listLayoutDHD = [5474,5512,179]>
565<#assign layo = themeDisplay.getPlid() />
566
567<script src="https://sp.zalo.me/plugins/sdk.js"></script>
568<liferay-util:html-top outputKey="htmltop">
569 <meta name="url" property="og:url" content="${currentUrl}" />
570 <meta name="type" property="og:type" content="article" />
571 <meta name="title" property="og:title" content="${.vars['reserved-article-title'].data}" />
572 <meta name="image" property="og:image" content="${imageUrl}" >
573</liferay-util:html-top>
574
575
576
577<div class="row">
578 <div class="col-8">
579
580
581 <#if listLayoutDHD?seq_index_of(layo) > -1 >
582 <div class="#">
583 <ul class="breadcrumb">
584 <li class="breadcrumb-item crum1"><a href="/home">Trang chủ</a></li>
585 <li class="breadcrumb-item active">Tin tức</li>
586 </ul>
587 </div>
588 <#else>
589 <span style="position: relative;font-weight: bold;font-size: 17px;border-left: 3px solid #ed0678;padding: 5px;background-color: darkgrey;" class="tieuDe-asset">
590 <a href="${pageUrl}">${pageTitle}</a>
591 </span>
592 <#assign journalArticleId = .vars['reserved-article-id'].data>
593 <#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]>
594 <#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
595
596 <#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/>
597 <#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) >
598
599 <#list categoryList as thisCategory>
600 <#if (thisCategory_index==0)>
601 <span class="curPage-title" style="font-size: 17px;padding-left: 17px;font-weight: bold;">${thisCategory.getName()}</span>
602 </#if>
603 </#list>
604 </#if>
605
606 <div class="article-head">
607 <div class="article-info" style="border-top: 0px;border-bottom: 0px;margin-left: 11px;">
608 <div class="social-buttons left">
609 ${displayDate}
610 </div>
611 <div class="social-buttons right">
612 <a class="social-thing" onclick="voiceSpeak('contentText','voiceSex')"; style="margin-right: 5px;"
613 data-toggle="tooltip" title="Đọc bài viết">
614 <img class="volume-up" src="/o/portal-dt-home-theme/images/icons/trothinh_volume-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
615 </a>
616 <a id="void-pause" class="social-thing" onclick="voicePause()"; style="margin-right: 1px;display:none;"
617 data-toggle="tooltip" title="Tạm dừng đọc">
618 <span class="fa fa-pause" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/>
619 </a>
620 <a id="void-resume" class="social-thing" onclick="voiceResume()"; style="margin-right: 1px;display:none;"
621 data-toggle="tooltip" title="Tiếp tục đọc">
622 <span class="fa fa-repeat" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"></span>
623 </a>
624 <a id="void-stop" class="social-thing" onclick="voiceCancel()"; style="margin-right: 1px;display:none;"
625 data-toggle="tooltip" title="Dừng đọc">
626 <span class="fa fa-stop"style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/>
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="giamTuongPhan();" style="margin-right: 5px;"
632 data-toggle="tooltip" title="Giảm tương phản">
633 <img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
634 </a>
635 <a class="social-thing" onclick="tangTuongPhan();" style="margin-right: 5px;"
636 data-toggle="tooltip" title="Tăng tương phản">
637 <img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
638 </a>
639 <a class="social-thing" style="margin-right: 5px;">
640 <img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/>
641 </a>
642 <a class="social-thing" onclick="fontMinus();" style="margin-right: 5px;"
643 data-toggle="tooltip" title="Giảm cỡ chữ">
644 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
645 </a>
646 <a class="social-thing" onclick="fontDefault();" style="margin-right: 5px;"
647 data-toggle="tooltip" title="Cỡ chữ mặc định">
648 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
649 </a>
650 <a class="social-thing" onclick="fontPlus();" style="margin-right: 5px;"
651 data-toggle="tooltip" title="Tăng cỡ chữ">
652 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
653 </a>
654 <a class="social-thing" style="margin-right: 5px;">
655 <img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/>
656 </a>
657 <a class="social-thing" onclick="printPage('contentText');" style="margin-right: 5px;"
658 data-toggle="tooltip" title="In bài viết">
659 <img src="/o/portal-dt-home-theme/images/icons/trothinh_print-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
660 </a>
661 <a class="social-thing" href="https://mail.google.com/mail/?view=cm&fs=1&su=${title}&body=${currentUrl}" style="margin-right: 5px;"
662 data-toggle="tooltip" title="Gửi mail" target="_blank">
663 <img src="/o/portal-dt-home-theme/images/icons/trothinh_mail-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;height:13px"/>
664 </a>
665 </div>
666 <input type="hidden" id="voiceSex" value="Vietnamese Female"></input>
667 <input type="hidden" id="tuongphan" value="3"></input>
668 </div>
669 </div>
670
671 <div style="margin:10px; text-align: justify">
672 <h2 class="title-divvv" style="color: #ed0678;font-weight: bold; text-align: justify">${title}</h2>
673 </div>
674 <div id="contentText" style="margin:10px; text-align: justify">
675 <b>${summary}</b>
676 ${noiDung.getData()}
677 </div>
678 <div class="article-info">
679 <div class="social-buttons">
680 <a href="#"><img src="https://dongthap.gov.vn/documents/34223/36207/quantam-btn.jpg/03716e20-b334-f2ab-e186-370511edfc77?t=1594708727042" style="width: 80px; height: 20px; margin-right: 2px"></a>
681 <div class="zalo-follow-only-button" data-oaid="3540423014405379625" style="width: 88px;"></div>
682 <div class="zalo-share-button" data-href="" data-oaid="4499765515963062717" data-layout="1" data-color="blue" data-customize=false></div>
683 <iframe src="${srcfb}" width="140" height="35" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>
684 </div>
685 <#if listLayoutDHD?seq_index_of(layo) > -1 >
686 <#if teste?has_content>
687 <div class="tinkhac">
688 <div class="bg-tinkhac"></div>
689 <ul class="list-unstyled">
690 <#list teste as curEntryyy>
691 <#assign
692 renderer = curEntryyy.getAssetRenderer()
693 className = renderer.getClassName() />
694 <#if className == "com.liferay.journal.model.JournalArticle">
695 <#assign
696 title = curEntryyy.getTitle(locale)
697 article = renderer.getArticle()
698 description = article.getDescription(locale)
699 curEntryyy = curEntryyy
700 viewURL = "/chi-tiet-chuyen-trang-dh-dang/-/asset_publisher/hPvLbtAWEWEb/content/id/${curEntryyy.getEntryId()}?plidlayout=${themeDisplay.getLayout().getPlid()}" />
701 <#if description?has_content && description?length > 300>
702 <#assign description = description?substring(0,300) + " ..."/>
703 </#if>
704
705 <#if curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest)??>
706 <#assign smallImageUrl = curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest) >
707 <#else>
708 <#assign smallImageUrl = "" >
709 </#if>
710 <li><a href="${viewURL}">${title}</a></li>
711
712 </#if>
713 </#list>
714 </ul>
715 </div>
716 </#if>
717 <#else>
718
719
720 </div>
721 </div>
722 <div class="col-4" style="padding-left:20px">
723
724
725 <div class="social-buttons right">
726 <div>
727 <p class="other-news">Xem thêm các tin khác </p>
728 </div>
729 <div class="row ml-0 mr-0 relatedentry" id="0">
730 <div id="paging_container5">
731 <ul class="content" style="padding-bottom: 15px;">
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 title2 = curEntryyy.getTitle(locale)
739 article2 = renderer.getArticle()
740 publishdate2 = curEntryyy.getPublishDate()
741 viewcount2 = curEntryyy.getViewCount()
742 description2 = article2.getDescription(locale)
743 curEntryyy = curEntryyy
744 viewURL2 = themeDisplay.getPathFriendlyURLPublic() + themeDisplay.getSiteGroup().getFriendlyURL() + "/chi-tiet-bai-viet/-/asset_publisher/1mOzUrGkrdAE/content/id/${curEntryyy.getEntryId()}?plidlayout=${themeDisplay.getLayout().getPlid()}"/>
745
746 <#if curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest)??>
747 <#assign smallImageUrl = curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest) >
748 <#else>
749 <#assign smallImageUrl = "" >
750 </#if>
751
752 <li style="margin-top:10px">
753 <div class="col-md-12">
754 <div class="row ml-0 mr-0">
755 <div class="col-sm-3">
756 <a href="${viewURL2}"><img src="${smallImageUrl}" alt="img" class="img-fluid w-100 other-imgs"></a>
757 </div>
758 <div class="col-sm-9 pl-sm-2">
759 <a href="${viewURL2}"><p style="margin-bottom: 5px;" class="limit-tit">${title2}</p></a>
760 <span class="date-span">${publishdate2}</span>
761 </div>
762 </div>
763 </div>
764 </li>
765
766 </#if>
767 </#list>
768 </ul>
769 <div class="page_navigation"></div>
770 </div>
771
772 </div>
773 </div>
774 </#if>
775 <#if teste?has_content && teste?length > 0>
776 <div style="text-align: center">
777
778 </div>
779 </#if>
780 </div>
781
782 </div>