Xuất bản thông tin

null Triển khai thực hiện Luật Đầu tư năm 2020 theo hướng dẫn của Bộ Kế hoạch và Đầu tư (Luật Đầu tư số 61/2020/QH14 ngày 17/6/2020 có hiệu lực thi hành kể từ ngày 01/012021)

Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
The following has evaluated to null or missing:
==> layoutService.fetchLayout(plidlayout?number)  [in template "34201#34227#52434" at line 17, column 19]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign layout = layoutService.fetchL...  [in template "34201#34227#52434" at line 17, column 1]
----
1<#assign  
2	layoutService =  serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
3	userService =  serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") 
4	author = userService.fetchUser(.vars['reserved-article-author-id'].data?number) 
5    title = .vars['reserved-article-title'].data 
6	portalURL = themeDisplay.getPortalURL()  
7	currentUrl = portalURL + themeDisplay.getURLCurrent()  
8	imageUrl = portalURL + .vars['reserved-article-small-image-url'].data  
9	srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=172&layout=button_count&action=like&size=small&share=true&height=46&appId"  
10	displayDate = .vars['reserved-article-display-date'].data /> 
11 
12<#if (request.getParameter("plidlayout")?has_content)> 
13    <#assign plidlayout = request.getParameter("plidlayout") /> 
14    <#else> 
15    <#assign plidlayout = 2 /> 
16</#if> 
17<#assign layout = layoutService.fetchLayout(plidlayout?number) /> 
18<#assign curLayout = layoutService.fetchLayout(plid?number) /> 
19<#assign pageTitle = layout.getName(locale) /> 
20<#assign pageUrl = layout.getFriendlyURL(locale) /> 
21<#assign curPageTitle = curLayout.getName(locale) /> 
22<#assign originalLocale = .locale> 
23<#setting locale = localeUtil.getDefault()> 
24<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
25<#assign locale = originalLocale> 
26<#assign displayDate = displayDate?string("HH:mm dd/MM/yyyy")> 
27<script src="https://sp.zalo.me/plugins/sdk.js"></script> 
28<script src="https://www.google.com/recaptcha/api.js"></script> 
29<liferay-util:html-top outputKey="htmltop"> 
30    <meta name="url" property="og:url" content="${currentUrl}" > 
31	<meta name="type" property="og:type" content="article" > 
32    <meta name="title" property="og:title" content="${.vars['reserved-article-title'].data}" > 
33    <meta name="description" property="og:description" content="${.vars['reserved-article-description'].data}" > 
34    <meta name="image" property="og:image" content="${imageUrl}" > 
35</liferay-util:html-top> 
36<div class="shortcode-content hreview"> 
37	<div class="mb-2" style="display: inline-block;"> 
38		<span style="font-size: 17px;border-left: 3px solid #ed0678;padding: 5px;background-color: darkgrey;"><a href="${pageUrl}">${pageTitle}</a></span> 
39		<span  style="font-size: 17px;padding-left: 3px;">${curPageTitle}</span> 
40	</div> 
41	<div class="article-head py-2"> 
42		<div class="col-12"> 
43			<div class="col-4 left"> 
44				${displayDate} 
45			</div> 
46			<div class="col-8 right" style="text-align:right;"> 
47				<a class="social-thing" onclick="voiceSpeak('contentText','voiceSex')"; style="margin-right: 5px;"> 
48					<img class="volume-up" src="/o/portal-dt-home-theme/images/icons/trothinh_volume-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
49				</a> 
50				<a id="void-pause" class="social-thing" onclick="voicePause()"; style="margin-right: 1px;display:none;"> 
51					<span class="fa fa-pause" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/> 
52				</a> 
53				<a id="void-resume" class="social-thing" onclick="voiceResume()"; style="margin-right: 1px;display:none;"> 
54					<span class="fa fa-repeat" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"></span> 
55				</a> 
56				<a id="void-stop" class="social-thing" onclick="voiceCancel()"; style="margin-right: 1px;display:none;"> 
57					<span class="fa fa-stop"style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/> 
58				</a> 
59				<a class="social-thing" style="margin-right: 5px;"> 
60					<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
61				</a> 
62				<a class="social-thing" onclick="giamTuongPhan();" style="margin-right: 5px;"> 
63					<img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
64				</a> 
65				<a class="social-thing" onclick="tangTuongPhan();" style="margin-right: 5px;"> 
66					<img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
67				</a> 
68				<a class="social-thing" style="margin-right: 5px;"> 
69					<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
70				</a> 
71				<a class="social-thing" onclick="fontMinus();" style="margin-right: 5px;"> 
72					<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
73				</a> 
74				<a class="social-thing" onclick="fontDefault();" style="margin-right: 5px;"> 
75					<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
76				</a> 
77				<a class="social-thing" onclick="fontPlus();" style="margin-right: 5px;"> 
78					<img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
79				</a> 
80				<a class="social-thing" style="margin-right: 5px;"> 
81					<img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/> 
82				</a> 
83				<a class="social-thing" onclick="" style="margin-right: 5px;"> 
84					<img src="/o/portal-dt-home-theme/images/icons/trothinh_print-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/> 
85				</a> 
86				<a class="social-thing" onclick="" style="margin-right: 5px;"> 
87					<img src="/o/portal-dt-home-theme/images/icons/trothinh_mail-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;height:13px"/> 
88				</a> 
89				<input type="hidden" id="voiceSex" value="Vietnamese Female"></input> 
90			    <input type="hidden" id="tuongphan" value="3"></input> 
91			</div> 
92		</div> 
93	</div> 
94</div> 
95<div class="main-content"> 
96    <div> 
97        <h2 style="color: #ed0678;font-weight: bold;">${title}</h2> 
98    </div> 
99	<div class="panel"> 
100		<div class="shortcode-content hreview"> 
101			<div id="contentText"> 
102			    ${noiDung.getData()} 
103			</div> 
104			<div class="article-info"> 
105    			<div class="social-buttons left"> 
106                    <div class="zalo-follow-only-button" data-oaid="3540423014405379625"></div> 
107                    <div class="zalo-share-button" data-href="" data-oaid="4499765515963062717" data-layout="1" data-color="blue" data-customize=false></div> 
108                    <iframe src="${srcfb}" width="450" height="35" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe> 
109    		    </div> 
110    		</div> 
111		</div> 
112	</div> 
113</div> 
114 
115<#macro getMetadataField 
116 	fieldName 
117
118 	<#if stringUtil.split(metadataFields)?seq_contains(fieldName)> 
119 		<span class="metadata-entry metadata-${fieldName}"> 
120 			<#assign dateFormat = "dd MMM yyyy - HH:mm:ss" /> 
121  
122 			<#if stringUtil.equals(fieldName, "author")> 
123 				<@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))} 
124 			<#elseif stringUtil.equals(fieldName, "categories")> 
125 				<@liferay_asset["asset-categories-summary"] 
126 					className=curEntry.getClassName() 
127 					classPK=curEntry.getClassPK() 
128 					portletURL=renderResponse.createRenderURL() 
129 				/> 
130 			<#elseif stringUtil.equals(fieldName, "create-date")> 
131 				${dateUtil.getDate(curEntry.getCreateDate(), dateFormat, locale)} 
132 			<#elseif stringUtil.equals(fieldName, "expiration-date")> 
133 				${dateUtil.getDate(curEntry.getExpirationDate(), dateFormat, locale)} 
134 			<#elseif stringUtil.equals(fieldName, "modified-date")> 
135 				${dateUtil.getDate(curEntry.getModifiedDate(), dateFormat, locale)} 
136 			<#elseif stringUtil.equals(fieldName, "priority")> 
137 				${curEntry.getPriority()} 
138 			<#elseif stringUtil.equals(fieldName, "publish-date")> 
139 				${dateUtil.getDate(curEntry.getPublishDate(), dateFormat, locale)} 
140 			<#elseif stringUtil.equals(fieldName, "tags")> 
141 				<@liferay_asset["asset-tags-summary"] 
142 					className=curEntry.getClassName() 
143 					classPK=curEntry.getClassPK() 
144 					portletURL=renderResponse.createRenderURL() 
145 				/> 
146 			<#elseif stringUtil.equals(fieldName, "view-count")> 
147 				${curEntry.getViewCount()} <@liferay.language key="views" /> 
148 			</#if> 
149 		</span> 
150 	</#if> 
151 </#macro> 

Có thể bạn quan tâm