Xuất bản thông tin

null Cơ cấu - tổ chức Sở Khoa học và Công nghệ

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

Follow

Tin xem nhiều

Danh mục chính Menu

Danh mục chính Menu

Banner Bản tin chỉ đạo điều hành

Banner Video

Banner Megastory

Banner Tin đồ họa

Tin nổi bật