
Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
Java method "com.liferay.journal.model.impl.JournalArticleImpl.getDescription(String)" threw an exception when invoked on com.liferay.journal.model.impl.JournalArticleImpl object "{uuid=e7ef3571-0a3c-3f0f-8c1d-bf51731cc928, id=13035027, resourcePrimKey=13034670, groupId=248410, companyId=34201, userId=283254, userName=admincat@dongthap.gov.vn admincat@dongthap.gov.vn, createDate=2022-10-27 14:12:12.576, modifiedDate=2022-10-27 14:47:47.505, folderId=0, classNameId=0, classPK=0, treePath=/, articleId=13034668, version=1.2, urlTitle=t%E1%BB%95ng-k%E1%BA%BFt-15-n%C4%83m-th%E1%BB%B1c-hi%E1%BB%87n-c%C3%A1c-ngh%E1%BB%8B-quy%E1%BA%BFt-ch%E1%BB%89-th%E1%BB%8B-v%C3%A0-ch%C6%B0%C6%A1ng-tr%C3%ACnh-h%C3%A0nh-%C4%91%E1%BB%99ng-v%E1%BB%81-c%C3%B4ng-t%C3%A1c-ph%E1%BB%A5-n%E1%BB%AF, content=<?xml version=\"1.0\"?>\n\n<root available-locales=\"vi_VN\" default-locale=\"vi_VN\">\n\t<dynamic-element name=\"noiDung\" type=\"text_area\" index-type=\"text\" instance-id=\"osov\">\n\t\t<dynamic-content language-id=\"vi_VN\"><![CDATA[<p style=\"text-align:justify; text-indent:36.0pt; margin-bottom:11px\"><span style=\"font-size:11pt\"><span style=\"line-height:107%\"><span style=\"font-family:Calibri,sans-serif\"><span style=\"font-size:14.0pt\"><span style=\"line-height:107%\"><span style=\"font-family:"Times New Roman",serif\">Công an tỉnh vừa tổ chức Hội nghị tổng kết 15 năm thực hiện Nghị quyết số 11-NQ-TW của Bộ Chính trị, Chương trình hành động số 12 của Đảng ủy Công an Trung ương và triển khai Phong trào thi đua “Phụ nữ Công an bản lĩnh, nhân văn, kỷ cương, trách nhiệm, vì an ninh Tổ quốc, vì hạnh phúc gia đình”.</span></span></span></span></span></span></p>\n\n<p style=\"text-indent: 36pt; margin-bottom: 11px; text-align: center;\"><img src=\"/documents/248410/0/DSC_7841.JPG/cc92bf9d-ed4e-ec82-be64-e97e3c1c8087?t=1666854426202\" style=\"height: 397px; width: 600px;\" /></p>\n\n<p style=\"text-indent: 36pt; margin-bottom: 11px; text-align: center;\">Đại tá Võ Thị Hoài Ngọc - Phó Bí thư Đảng ủy, Phó Giám đốc Công an tỉnh phát biểu tại Hội nghị</p>\n\n<p style=\"text-align:justify; margin-bottom:11px\"><span style=\"font-size:11pt\"><span style=\"line-height:107%\"><span style=\"font-family:Calibri,sans-serif\"><span style=\"font-size:14.0pt\"><span style=\"line-height:107%\"><span style=\"font-family:"Times New Roman",serif\"> Trong 15 năm thực hiện các Nghị quyết, Chỉ thị và chương trình hành động về công tác phụ nữ đã tạo sự chuyển biến mạnh mẽ cả về nhận thức và hành động trong việc đánh giá sử dụng cán bộ nữ. Trong giai đoạn từ năm 2007 đến nay, đã có nhiều đồng chí nữ trưởng thành, được Đảng ủy, Ban Giám đốc Công an tỉnh bổ nhiệm giữ nhiều chức vụ lãnh đạo, chỉ huy, trong đó có 01 đồng chí được Bộ Công an bổ nhiệm giữ chức vụ Phó Giám đốc Công an tỉnh. Các cấp Hội phụ nữ Công an tỉnh cũng đã đăng ký thực hiện hiệu quả 46 công trình, 273 phần việc phụ nữ, gắn với công tác chuyên môn, an sinh xã hội và học tập, làm theo lời Bác. Với nhiều thành tích trong công tác phụ nữ, 10 tập thể đã được Ban Giám đốc biểu dương, khen thưởng tại Hội nghị.</span></span></span></span></span></span></p>\n\n<p style=\"margin-bottom: 11px; text-align: center;\"><img src=\"/documents/248410/0/DSC_7725.JPG/c7c23161-0998-5c5c-2065-01485be03071?t=1666854513143\" style=\"height: 338px; width: 600px;\" /></p>\n\n<p style=\"margin-bottom: 11px; text-align: center;\">Đại tá Võ Thị Hoài Ngọc - Phó Bí thư Đảng ủy, Phó Giám đốc Công an tỉnh trao khen thưởng cho các tập thể có thành tích xuất sắc trong thực hiện các Nghị quyết, Chương trình hành động về công tác phụ nữ</p>\n\n<p style=\"text-align:justify; margin-bottom:11px\"><span style=\"font-size:11pt\"><span style=\"line-height:107%\"><span style=\"font-family:Calibri,sans-serif\"><span style=\"font-size:14.0pt\"><span style=\"line-height:107%\"><span style=\"font-family:"Times New Roman",serif\"> Tại Hội nghị, Hội Phụ nữ công an tỉnh cũng đã tổ chức ký kết giao ước thi đua “Phong trào thi đua Phụ nữ Công an bản lĩnh, nhân văn, kỷ cương, trách nhiệm, vì an ninh Tổ quốc, vì hạnh phúc gia đình”, giai đoạn 2022 – 2026.</span></span></span></span></span></span></p>\n\n<p style=\"margin-bottom: 11px; text-align: center;\"><img src=\"/documents/248410/0/DSC_7729.JPG/ee5daf67-31b9-c849-8c81-61f4529eb77d?t=1666854583419\" style=\"height: 338px; width: 600px;\" /></p>\n\n<p style=\"margin-bottom: 11px; text-align: center;\">Thượng tá Ngô Thị Kim Liên - Chủ tịch Hội Phụ nữ Công an tỉnh triển khai Kế hoạch thực hiện phong trào thi đua</p>\n\n<p style=\"margin-bottom: 11px; text-align: center;\"><img src=\"/documents/248410/0/DSC_7743.JPG/06f68868-4f2f-d4dc-77f9-e5141f3ec301?t=1666854650861\" style=\"height: 338px; width: 600px;\" /></p>\n\n<p style=\"margin-bottom: 11px; text-align: center;\">Các đơn vị ký kết giao ước thực hiện phong trào thi đua, giai đoạn 2022-2026 trong Phụ nữ Công an Đồng Tháp</p>\n\n<p style=\"text-align: right;\"><span style=\"font-size:14.0pt\"><span style=\"line-height:107%\"><span style=\"font-family:"Times New Roman",serif\">Thanh Mỹ</span></span></span></p>]]></dynamic-content>\n\t</dynamic-element>\n</root>, DDMStructureKey=43041, DDMTemplateKey=43055, defaultLanguageId=vi_VN, layoutUuid=, displayDate=2022-10-27 13:43:00.0, expirationDate=null, reviewDate=null, indexable=true, smallImage=true, smallImageId=13034672, smallImageURL=/documents/248410/0/DSC_7725.JPG/c7c23161-0998-5c5c-2065-01485be03071?t=1666854513143, lastPublishDate=null, status=0, statusByUserId=283254, statusByUserName=admincat@dongthap.gov.vn admincat@dongthap.gov.vn, statusDate=2022-10-27 14:47:47.505}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: description2 = article2.getDescriptio... [in template "34201#34227#43055" at line 757, column 65] - Reached through: #assign-container [in template "34201#34227#43055" at line 752, column 57] ----
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.metadata-author{
175display:none;
176}
177</style>
178<script type="text/javascript">
179;
180(function($) { /*******************************************************************************************/
181
182 $.fn.pajinate = function(options) {
183 // Set some state information
184 var current_page = 'current_page';
185 var items_per_page = 'items_per_page';
186
187 var meta;
188
189 // Setup default option values
190 var defaults = {
191 item_container_id: '.content',
192 items_per_page: 10,
193 nav_panel_id: '.page_navigation',
194 nav_info_id: '.info_text',
195 num_page_links_to_display: 5,
196 start_page: 0,
197 wrap_around: false,
198 nav_label_first: 'First',
199 nav_label_prev: 'Prev',
200 nav_label_next: 'Next',
201 nav_label_last: 'Last',
202 nav_order: ["first", "prev", "num", "next", "last"],
203 nav_label_info: 'Showing {0}-{1} of {2} results',
204 show_first_last: true,
205 abort_on_small_lists: false,
206 jquery_ui: false,
207 jquery_ui_active: "ui-state-highlight",
208 jquery_ui_default: "ui-state-default",
209 jquery_ui_disabled: "ui-state-disabled"
210 };
211
212 var options = $.extend(defaults, options);
213 var $item_container;
214 var $page_container;
215 var $items;
216 var $nav_panels;
217 var total_page_no_links;
218 var jquery_ui_default_class = options.jquery_ui ? options.jquery_ui_default : '';
219 var jquery_ui_active_class = options.jquery_ui ? options.jquery_ui_active : '';
220 var jquery_ui_disabled_class = options.jquery_ui ? options.jquery_ui_disabled : '';
221
222 return this.each(function() {
223 $page_container = $(this);
224 $item_container = $(this).find(options.item_container_id);
225 $items = $page_container.find(options.item_container_id).children();
226
227 if (options.abort_on_small_lists && options.items_per_page >= $items.size()) return $page_container;
228
229 meta = $page_container;
230
231 // Initialize meta data
232 meta.data(current_page, 0);
233 meta.data(items_per_page, options.items_per_page);
234
235 // Get the total number of items
236 var total_items = $item_container.children().size();
237
238 // Calculate the number of pages needed
239 var number_of_pages = Math.ceil(total_items / options.items_per_page);
240
241 // Construct the nav bar
242 var more = '<a class="ellipse more">...</a>';
243 var less = '<a class="ellipse less">...</a>';
244 var first = !options.show_first_last ? '' : '<a class="first_link ' + jquery_ui_default_class + '" href="">' + options.nav_label_first + '</a>';
245 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>';
246
247 var navigation_html = "";
248
249 for (var i = 0; i < options.nav_order.length; i++) {
250 switch (options.nav_order[i]) {
251 case "first":
252 navigation_html += first;
253 break;
254 case "last":
255 navigation_html += last;
256 break;
257 case "next":
258 navigation_html += '<a class="next_link ' + jquery_ui_default_class + '" href="">' + options.nav_label_next + '</a>';
259 break;
260 case "prev":
261 navigation_html += '<a class="previous_link ' + jquery_ui_default_class + '" href="">' + options.nav_label_prev + '</a>';
262 break;
263 case "num":
264 navigation_html += less;
265 var current_link = 0;
266 while (number_of_pages > current_link) {
267 navigation_html += '<a class="page_link ' + jquery_ui_default_class + '" href="" longdesc="' + current_link + '">' + (current_link + 1) + '</a>';
268 current_link++;
269 }
270 navigation_html += more;
271 break;
272 default:
273 break;
274 }
275
276 }
277
278 // And add it to the appropriate area of the DOM
279 $nav_panels = $page_container.find(options.nav_panel_id);
280 $nav_panels.html(navigation_html).each(function() {
281
282 $(this).find('.page_link:first').addClass('first');
283 $(this).find('.page_link:last').addClass('last');
284
285 });
286
287 // Hide the more/less indicators
288 $nav_panels.children('.ellipse').hide();
289
290 // Set the active page link styling
291 $nav_panels.find('.previous_link').next().next().addClass('active_page ' + jquery_ui_active_class);
292
293 /* Setup Page Display */
294 // And hide all pages
295 $items.hide();
296 // Show the first page
297 $items.slice(0, meta.data(items_per_page)).show();
298
299 /* Setup Nav Menu Display */
300 // Page number slices
301 total_page_no_links = $page_container.find(options.nav_panel_id + ':first').children('.page_link').size();
302 options.num_page_links_to_display = Math.min(options.num_page_links_to_display, total_page_no_links);
303
304 $nav_panels.children('.page_link').hide(); // Hide all the page links
305 // And only show the number we should be seeing
306 $nav_panels.each(function() {
307 $(this).children('.page_link').slice(0, options.num_page_links_to_display).show();
308 });
309
310 /* Bind the actions to their respective links */
311
312 // Event handler for 'First' link
313 $page_container.find('.first_link').click(function(e) {
314 e.preventDefault();
315
316 movePageNumbersRight($(this), 0);
317 gotopage(0);
318 });
319
320 // Event handler for 'Last' link
321 $page_container.find('.last_link').click(function(e) {
322 e.preventDefault();
323 var lastPage = total_page_no_links - 1;
324 movePageNumbersLeft($(this), lastPage);
325 gotopage(lastPage);
326 });
327
328 // Event handler for 'Prev' link
329 $page_container.find('.previous_link').click(function(e) {
330 e.preventDefault();
331 showPrevPage($(this));
332 });
333
334
335 // Event handler for 'Next' link
336 $page_container.find('.next_link').click(function(e) {
337 e.preventDefault();
338 showNextPage($(this));
339 });
340
341 // Event handler for each 'Page' link
342 $page_container.find('.page_link').click(function(e) {
343 e.preventDefault();
344 gotopage($(this).attr('longdesc'));
345 });
346
347 // Goto the required page
348 gotopage(parseInt(options.start_page));
349 toggleMoreLess();
350 if (!options.wrap_around) tagNextPrev();
351 });
352
353 function showPrevPage(e) {
354 new_page = parseInt(meta.data(current_page)) - 1;
355
356 // Check that we aren't on a boundary link
357 if ($(e).siblings('.active_page').prev('.page_link').length == true) {
358 movePageNumbersRight(e, new_page);
359 gotopage(new_page);
360 }
361 else if (options.wrap_around) {
362 gotopage(total_page_no_links - 1);
363 }
364
365 };
366
367 function showNextPage(e) {
368 new_page = parseInt(meta.data(current_page)) + 1;
369
370 // Check that we aren't on a boundary link
371 if ($(e).siblings('.active_page').next('.page_link').length == true) {
372 movePageNumbersLeft(e, new_page);
373 gotopage(new_page);
374 }
375 else if (options.wrap_around) {
376 gotopage(0);
377 }
378
379 };
380
381 function gotopage(page_num) {
382
383 page_num = parseInt(page_num, 10)
384
385 var ipp = parseInt(meta.data(items_per_page));
386
387 // Find the start of the next slice
388 start_from = page_num * ipp;
389
390 // Find the end of the next slice
391 end_on = start_from + ipp;
392 // Hide the current page
393 var items = $items.hide().slice(start_from, end_on);
394
395 items.show();
396
397 // Reassign the active class
398 $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);
399
400 // Set the current page meta data
401 meta.data(current_page, page_num);
402 /*########## Ajout de l'option page courante + nombre de pages*/
403 var $current_page = parseInt(meta.data(current_page)+1);
404 // Get the total number of items
405 var total_items = $item_container.children().size();
406 // Calculate the number of pages needed
407 var $number_of_pages = Math.ceil(total_items / options.items_per_page);
408 /*##################################################################*/
409 $page_container.find(options.nav_info_id).html(options.nav_label_info.replace("{0}", start_from + 1).
410 replace("{1}", start_from + items.length).replace("{2}", $items.length).replace("{3}", $current_page).replace("{4}", $number_of_pages));
411
412 // Hide the more and/or less indicators
413 toggleMoreLess();
414
415 // Add a class to the next or prev links if there are no more pages next or previous to the active page
416 tagNextPrev();
417
418 // check if the onPage callback is available and call it
419 if (typeof(options.onPageDisplayed) !== "undefined" ) {
420 options.onPageDisplayed.call(this, page_num + 1)
421 }
422
423 }
424
425 // Methods to shift the diplayed index of page numbers to the left or right
426
427
428 function movePageNumbersLeft(e, new_p) {
429 var new_page = new_p;
430
431 var $current_active_link = $(e).siblings('.active_page');
432
433 if ($current_active_link.siblings('.page_link[longdesc=' + new_page + ']').css('display') == 'none') {
434
435 $nav_panels.each(function() {
436 $(this).children('.page_link').hide() // Hide all the page links
437 .slice(parseInt(new_page - options.num_page_links_to_display + 1), new_page + 1).show();
438 });
439 }
440
441 }
442
443 function movePageNumbersRight(e, new_p) {
444 var new_page = new_p;
445
446 var $current_active_link = $(e).siblings('.active_page');
447
448 if ($current_active_link.siblings('.page_link[longdesc=' + new_page + ']').css('display') == 'none') {
449
450 $nav_panels.each(function() {
451 $(this).children('.page_link').hide() // Hide all the page links
452 .slice(new_page, new_page + parseInt(options.num_page_links_to_display)).show();
453 });
454 }
455 }
456
457 // Show or remove the ellipses that indicate that more page numbers exist in the page index than are currently shown
458
459
460 function toggleMoreLess() {
461
462 if (!$nav_panels.children('.page_link:visible').hasClass('last')) {
463 $nav_panels.children('.more').show();
464 }
465 else {
466 $nav_panels.children('.more').hide();
467 }
468
469 if (!$nav_panels.children('.page_link:visible').hasClass('first')) {
470 $nav_panels.children('.less').show();
471 }
472 else {
473 $nav_panels.children('.less').hide();
474 }
475 }
476
477 /* Add the style class ".no_more" to the first/prev and last/next links to allow custom styling */
478
479 function tagNextPrev() {
480 if ($nav_panels.children('.last').hasClass('active_page')) {
481 $nav_panels.children('.next_link').add('.last_link').addClass('no_more ' + jquery_ui_disabled_class);
482 }
483 else {
484 $nav_panels.children('.next_link').add('.last_link').removeClass('no_more ' + jquery_ui_disabled_class);
485 }
486
487 if ($nav_panels.children('.first').hasClass('active_page')) {
488 $nav_panels.children('.previous_link').add('.first_link').addClass('no_more ' + jquery_ui_disabled_class);
489 }
490 else {
491 $nav_panels.children('.previous_link').add('.first_link').removeClass('no_more ' + jquery_ui_disabled_class);
492 }
493 }
494
495 };
496
497})(jQuery);
498</script>
499<script type="text/javascript">
500 $(document).ready(function(){
501 $('#paging_container5').pajinate({
502 nav_label_first : '<<',
503 nav_label_last : '>>',
504 nav_label_prev : '<',
505 nav_label_next : '>'
506 });
507 });
508
509 </script>
510<#assign
511 title = .vars['reserved-article-title'].data
512 portalURL = themeDisplay.getPortalURL()
513 currentUrl = portalURL + themeDisplay.getURLCurrent()
514 imageUrl = portalURL + .vars['reserved-article-small-image-url'].data
515 srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=172&layout=button_count&action=like&size=small&share=true&height=46&appId"
516 displayDate = .vars['reserved-article-display-date'].data
517 summary = .vars['reserved-article-description'].data/>
518
519 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
520
521 <#assign scopeId = themeDisplay.getScopeGroupId()>
522
523 <#assign contentId = .vars['reserved-article-id'].data>
524
525 <#assign articlePrimKey = JournalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId).resourcePrimKey>
526
527 <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
528 <#assign articleCatId = catLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))>
529
530 <#assign categoryList = catLocalService.getAssetEntryAssetCategories(getterUtil.getLong(articlePrimKey))>
531
532 <#assign assetEntryQueryService = objectUtil('com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil')>
533
534 <#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')>
535
536
537 <#assign search = assetEntryQuery.setAllCategoryIds(articleCatId)>
538 <#assign search = assetEntryQuery.setOrderByCol1("publishDate")/>
539 <#assign search = assetEntryQuery.setOrderByType1("DESC")/>
540
541 <#assign teste = assetEntryQueryService.getEntries(assetEntryQuery)
542 totalPage = 0/>
543
544<#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
545<#if (request.getParameter("plidlayout")?has_content)>
546 <#assign plidlayout = request.getParameter("plidlayout") />
547 <#else>
548 <#assign plidlayout = 2 />
549</#if>
550<#assign layout = layoutService.fetchLayout(plidlayout?number) />
551<#assign curLayout = layoutService.fetchLayout(plid?number) />
552<#assign pageTitle = layout.getName(locale) />
553<#assign pageUrl = layout.getFriendlyURL(locale) />
554<#assign curPageTitle = curLayout.getName(locale) />
555<#assign originalLocale = .locale>
556<#setting locale = localeUtil.getDefault()>
557<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
558<#assign locale = originalLocale>
559<#assign displayDate = displayDate?string("HH:mm dd/MM/yyyy")>
560
561<#assign listLayoutDHD = [5474,5512,179]>
562<#assign layo = themeDisplay.getPlid() />
563
564<script src="https://sp.zalo.me/plugins/sdk.js"></script>
565<liferay-util:html-top outputKey="htmltop">
566 <meta name="url" property="og:url" content="${currentUrl}" />
567 <meta name="type" property="og:type" content="article" />
568 <meta name="title" property="og:title" content="${.vars['reserved-article-title'].data}" />
569 <meta name="image" property="og:image" content="${imageUrl}" >
570</liferay-util:html-top>
571
572
573
574<div style="width:100%";>
575<div class="row">
576 <div >
577
578
579 <#if listLayoutDHD?seq_index_of(layo) > -1 >
580 <div class="brumnoidung">
581 <ul class="breadcrumb">
582 <li class="breadcrumb-item crum1"><a href="/home">Trang chủ</a></li>
583 <li class="breadcrumb-item active">Tin tức</li>
584 </ul>
585 </div>
586 <#else>
587 <span style="position: relative;font-weight: bold;font-size: 17px;border-left: 3px solid #ed0678;padding: 5px;background-color: darkgrey;" class="tieuDe-asset">
588 <a href="${pageUrl}">${pageTitle}</a>
589 </span>
590 <#assign journalArticleId = .vars['reserved-article-id'].data>
591 <#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]>
592 <#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
593
594 <#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/>
595 <#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) >
596
597 <#list categoryList as thisCategory>
598 <#if (thisCategory_index==0)>
599 <span class="curPage-title" style="font-size: 17px;padding-left: 17px;font-weight: bold;">${thisCategory.getName()}</span>
600 </#if>
601 </#list>
602 </#if>
603
604 <div class="article-head">
605 <div class="article-info" style="border-top: 0px;border-bottom: 0px;margin-left: 11px;">
606 <div class="social-buttons left">
607 ${displayDate}
608 </div>
609 <div class="social-buttons right">
610 <a class="social-thing" onclick="voiceSpeak('contentText','voiceSex')"; style="margin-right: 5px;"
611 data-toggle="tooltip" title="Đọc bài viết">
612 <img class="volume-up" src="/o/portal-dt-home-theme/images/icons/trothinh_volume-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
613 </a>
614 <a id="void-pause" class="social-thing" onclick="voicePause()"; style="margin-right: 1px;display:none;"
615 data-toggle="tooltip" title="Tạm dừng đọc">
616 <span class="fa fa-pause" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/>
617 </a>
618 <a id="void-resume" class="social-thing" onclick="voiceResume()"; style="margin-right: 1px;display:none;"
619 data-toggle="tooltip" title="Tiếp tục đọc">
620 <span class="fa fa-repeat" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"></span>
621 </a>
622 <a id="void-stop" class="social-thing" onclick="voiceCancel()"; style="margin-right: 1px;display:none;"
623 data-toggle="tooltip" title="Dừng đọc">
624 <span class="fa fa-stop"style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/>
625 </a>
626 <a class="social-thing" style="margin-right: 5px;">
627 <img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/>
628 </a>
629 <a class="social-thing" onclick="giamTuongPhan();" style="margin-right: 5px;"
630 data-toggle="tooltip" title="Giảm tương phản">
631 <img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
632 </a>
633 <a class="social-thing" onclick="tangTuongPhan();" style="margin-right: 5px;"
634 data-toggle="tooltip" title="Tăng tương phản">
635 <img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
636 </a>
637 <a class="social-thing" style="margin-right: 5px;">
638 <img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/>
639 </a>
640 <a class="social-thing" onclick="fontMinus();" style="margin-right: 5px;"
641 data-toggle="tooltip" title="Giảm cỡ chữ">
642 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
643 </a>
644 <a class="social-thing" onclick="fontDefault();" style="margin-right: 5px;"
645 data-toggle="tooltip" title="Cỡ chữ mặc định">
646 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
647 </a>
648 <a class="social-thing" onclick="fontPlus();" style="margin-right: 5px;"
649 data-toggle="tooltip" title="Tăng cỡ chữ">
650 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
651 </a>
652 <a class="social-thing" style="margin-right: 5px;">
653 <img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/>
654 </a>
655 <a class="social-thing" onclick="printPage('contentText');" style="margin-right: 5px;"
656 data-toggle="tooltip" title="In bài viết">
657 <img src="/o/portal-dt-home-theme/images/icons/trothinh_print-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
658 </a>
659 <a class="social-thing" href="https://mail.google.com/mail/?view=cm&fs=1&su=${title}&body=${currentUrl}" style="margin-right: 5px;"
660 data-toggle="tooltip" title="Gửi mail" target="_blank">
661 <img src="/o/portal-dt-home-theme/images/icons/trothinh_mail-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;height:13px"/>
662 </a>
663 </div>
664 <input type="hidden" id="voiceSex" value="Vietnamese Female"></input>
665 <input type="hidden" id="tuongphan" value="3"></input>
666 </div>
667 </div>
668
669 <div style="margin:10px">
670 <h2 class="title-divvv" style="color: #ed0678;font-weight: bold;">${title}</h2>
671 </div>
672 <div id="contentText" style="margin:10px">
673 <b>${summary}</b>
674 ${noiDung.getData()}
675 </div>
676 <div class="article-info">
677 <div class="social-buttons">
678 <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>
679 <div class="zalo-follow-only-button" data-oaid="3540423014405379625" style="width: 88px;"></div>
680 <div class="zalo-share-button" data-href="" data-oaid="4499765515963062717" data-layout="1" data-color="blue" data-customize=false></div>
681 <iframe src="${srcfb}" width="140" height="35" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>
682 </div>
683 <#if listLayoutDHD?seq_index_of(layo) > -1 >
684 <#if teste?has_content>
685 <div class="tinkhac">
686 <div class="bg-tinkhac"></div>
687 <ul class="list-unstyled">
688 <#list teste as curEntryyy>
689 <#assign
690 renderer = curEntryyy.getAssetRenderer()
691 className = renderer.getClassName() />
692 <#if className == "com.liferay.journal.model.JournalArticle">
693 <#assign
694 title = curEntryyy.getTitle(locale)
695 article = renderer.getArticle()
696 description = article.getDescription(locale)
697 curEntryyy = curEntryyy
698 viewURL = "/chi-tiet-chuyen-trang-dh-dang/-/asset_publisher/hPvLbtAWEWEb/content/id/${curEntryyy.getEntryId()}?plidlayout=${themeDisplay.getLayout().getPlid()}" />
699 <#if description?has_content && description?length > 300>
700 <#assign description = description?substring(0,300) + " ..."/>
701 </#if>
702
703 <#if curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest)??>
704 <#assign smallImageUrl = curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest) >
705 <#else>
706 <#assign smallImageUrl = "" >
707 </#if>
708 <li><a href="${viewURL}">${title}</a></li>
709
710 </#if>
711 </#list>
712 </ul>
713 </div>
714 </#if>
715 <#else>
716
717
718 </div>
719 </div>
720
721
722
723
724
725
726
727
728 </#if>
729 <#if teste?has_content && teste?length > 0>
730 <div style="text-align: center">
731
732 </div>
733 </#if>
734 </div>
735
736
737
738 <div >
739
740 <div >
741 <div>
742 <p class="other-news">Xem thêm các tin khác </p>
743 </div>
744 <div class="row ml-0 mr-0 relatedentry" id="0">
745 <div id="paging_container5">
746 <ul class="content" style="padding-bottom: 15px;">
747 <#list teste as curEntryyy>
748 <#assign
749 renderer = curEntryyy.getAssetRenderer()
750 className = renderer.getClassName() />
751 <#if className == "com.liferay.journal.model.JournalArticle">
752 <#assign
753 title2 = curEntryyy.getTitle(locale)
754 article2 = renderer.getArticle()
755 publishdate2 = curEntryyy.getPublishDate()
756 viewcount2 = curEntryyy.getViewCount()
757 description2 = article2.getDescription(locale)
758 curEntryyy = curEntryyy
759 viewURL2 = themeDisplay.getPathFriendlyURLPublic() + themeDisplay.getSiteGroup().getFriendlyURL() + "/chi-tiet-bai-viet/-/asset_publisher/wbj7qfWZntAi/content/id/${curEntryyy.getEntryId()}?plidlayout=${themeDisplay.getLayout().getPlid()}"/>
760
761 <#if curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest)??>
762 <#assign smallImageUrl = curEntryyy.getAssetRenderer().getThumbnailPath(renderRequest) >
763 <#else>
764 <#assign smallImageUrl = "" >
765 </#if>
766
767 <li style="margin-top:10px">
768 <div class="col-md-12">
769 <div class="row ml-0 mr-0">
770 <div class="col-sm-1">
771 <a href="${viewURL2}"><img src="${smallImageUrl}" alt="img" class="img-fluid w-100 other-imgs"></a>
772 </div>
773 <div class="col-sm-11 pl-sm-2">
774 <a href="${viewURL2}"><p style="margin-bottom: 5px;" class="limit-tit">${title2}</p></a>
775 <span class="date-span">${publishdate2}</span>
776 </div>
777 </div>
778 </div>
779 </li>
780
781 </#if>
782 </#list>
783 </ul>
784 <div class="page_navigation"></div>
785 </div>
786
787 </div>
788 </div>
789
790 </div>
791 </div>
TRANG THÔNG TIN ĐIỆN TỬ CÔNG AN TỈNH ĐỒNG THÁP
Địa chỉ: Số 27, đường Lý Thường Kiệt, Phường 1, Tp. Cao Lãnh, tỉnh Đồng Tháp
Điện thoại: 0277.3852185 Email: congantinh@dongthap.gov.vn