CÔNG BỐ DANH MỤC THỦ TỤC HÀNH CHÍNH VÀ QUY TRÌNH NỘI BỘ GIẢI QUYẾT THỦ TỤC HÀNH CHÍNH THUỘC THẨM QUYỀN QUẢN LÝ CỦA SỞ NÔNG NGHIỆP VÀ PTNT
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#43055" 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#43055" at line 17, column 1] ----
1<#assign
2 title = .vars['reserved-article-title'].data
3 portalURL = themeDisplay.getPortalURL()
4 currentUrl = portalURL + themeDisplay.getURLCurrent()
5 imageUrl = portalURL + .vars['reserved-article-small-image-url'].data
6 srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=172&layout=button_count&action=like&size=small&share=true&height=46&appId"
7 displayDate = .vars['reserved-article-display-date'].data
8 summary = .vars['reserved-article-description'].data/>
9
10
11<#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
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<liferay-util:html-top outputKey="htmltop">
29 <meta name="url" property="og:url" content="${currentUrl}" />
30 <meta name="type" property="og:type" content="article" />
31 <meta name="title" property="og:title" content="${.vars['reserved-article-title'].data}" />
32 <meta name="image" property="og:image" content="${imageUrl}" >
33</liferay-util:html-top>
34<div class="main-content">
35 <div class="panel" id="main-body">
36 <div class="shortcode-content hreview">
37 <span style="font-weight: bold;font-size: 17px;border-left: 3px solid #ed0678;padding: 5px;background-color: darkgrey;" class="tieuDe-asset"><a href="${pageUrl}">${pageTitle}</a></span>
38 <span style="font-size: 17px;padding-left: 12px;font-weight: bold;">${curPageTitle}</span>
39 <div class="article-head">
40 <div class="article-info" style="border-top: 0px;border-bottom: 0px;">
41 <div class="social-buttons left">
42 ${displayDate}
43 </div>
44 <div class="social-buttons right">
45 <a class="social-thing" onclick="voiceSpeak('contentText','voiceSex')"; style="margin-right: 5px;"
46 data-toggle="tooltip" title="Đọc bài viết">
47 <img class="volume-up" src="/o/portal-dt-home-theme/images/icons/trothinh_volume-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
48 </a>
49 <a id="void-pause" class="social-thing" onclick="voicePause()"; style="margin-right: 1px;display:none;"
50 data-toggle="tooltip" title="Tạm dừng đọc">
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 data-toggle="tooltip" title="Tiếp tục đọc">
55 <span class="fa fa-repeat" style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"></span>
56 </a>
57 <a id="void-stop" class="social-thing" onclick="voiceCancel()"; style="margin-right: 1px;display:none;"
58 data-toggle="tooltip" title="Dừng đọc">
59 <span class="fa fa-stop"style="vertical-align: middle;opacity: 1;width: 13px;color: dimgray;"/>
60 </a>
61 <a class="social-thing" style="margin-right: 5px;">
62 <img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/>
63 </a>
64 <a class="social-thing" onclick="giamTuongPhan();" style="margin-right: 5px;"
65 data-toggle="tooltip" title="Giảm tương phản">
66 <img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
67 </a>
68 <a class="social-thing" onclick="tangTuongPhan();" style="margin-right: 5px;"
69 data-toggle="tooltip" title="Tăng tương phản">
70 <img src="/o/portal-dt-home-theme/images/icons/trothinh_bright-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
71 </a>
72 <a class="social-thing" style="margin-right: 5px;">
73 <img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/>
74 </a>
75 <a class="social-thing" onclick="fontMinus();" style="margin-right: 5px;"
76 data-toggle="tooltip" title="Giảm cỡ chữ">
77 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-down-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
78 </a>
79 <a class="social-thing" onclick="fontDefault();" style="margin-right: 5px;"
80 data-toggle="tooltip" title="Cỡ chữ mặc định">
81 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
82 </a>
83 <a class="social-thing" onclick="fontPlus();" style="margin-right: 5px;"
84 data-toggle="tooltip" title="Tăng cỡ chữ">
85 <img src="/o/portal-dt-home-theme/images/icons/trothinh_zoom-up-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
86 </a>
87 <a class="social-thing" style="margin-right: 5px;">
88 <img src="/o/portal-dt-home-theme/images/icons/trothinh_wall-ico.png" style="vertical-align: middle;opacity: 1;width: 1px;height: 13px"/>
89 </a>
90 <a class="social-thing" onclick="" style="margin-right: 5px;"
91 data-toggle="tooltip" title="In bài viết">
92 <img src="/o/portal-dt-home-theme/images/icons/trothinh_print-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;"/>
93 </a>
94 <a class="social-thing" onclick="" style="margin-right: 5px;"
95 data-toggle="tooltip" title="Gửi mail">
96 <img src="/o/portal-dt-home-theme/images/icons/trothinh_mail-btn.png" style="vertical-align: middle;opacity: 1;width: 16px;height:13px"/>
97 </a>
98 </div>
99 <input type="hidden" id="voiceSex" value="Vietnamese Female"></input>
100 <input type="hidden" id="tuongphan" value="3"></input>
101 </div>
102 </div>
103 </div>
104 <div>
105 <h2 style="color: #ed0678;font-weight: bold;">${title}</h2>
106 </div>
107 <div id="contentText">
108 <b>${summary}</b>
109 ${noiDung.getData()}
110 </div>
111 <div class="article-info">
112 <div class="social-buttons left">
113 <div class="zalo-follow-only-button" data-oaid="3540423014405379625"></div>
114 <div class="zalo-share-button" data-href="" data-oaid="4499765515963062717" data-layout="1" data-color="blue" data-customize=false></div>
115 <iframe src="${srcfb}" width="450" height="35" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>
116 </div>
117 </div>
118 </div>
119</div>
120<#macro getMetadataField
121 fieldName
122 >
123 <#if stringUtil.split(metadataFields)?seq_contains(fieldName)>
124 <span class="metadata-entry metadata-${fieldName}">
125 <#assign dateFormat = "dd MMM yyyy - HH:mm:ss" />
126
127 <#if stringUtil.equals(fieldName, "author")>
128 <@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))}
129 <#elseif stringUtil.equals(fieldName, "categories")>
130 <@liferay_asset["asset-categories-summary"]
131 className=curEntry.getClassName()
132 classPK=curEntry.getClassPK()
133 portletURL=renderResponse.createRenderURL()
134 />
135 <#elseif stringUtil.equals(fieldName, "create-date")>
136 ${dateUtil.getDate(curEntry.getCreateDate(), dateFormat, locale)}
137 <#elseif stringUtil.equals(fieldName, "expiration-date")>
138 ${dateUtil.getDate(curEntry.getExpirationDate(), dateFormat, locale)}
139 <#elseif stringUtil.equals(fieldName, "modified-date")>
140 ${dateUtil.getDate(curEntry.getModifiedDate(), dateFormat, locale)}
141 <#elseif stringUtil.equals(fieldName, "priority")>
142 ${curEntry.getPriority()}
143 <#elseif stringUtil.equals(fieldName, "publish-date")>
144 ${dateUtil.getDate(curEntry.getPublishDate(), dateFormat, locale)}
145 <#elseif stringUtil.equals(fieldName, "tags")>
146 <@liferay_asset["asset-tags-summary"]
147 className=curEntry.getClassName()
148 classPK=curEntry.getClassPK()
149 portletURL=renderResponse.createRenderURL()
150 />
151 <#elseif stringUtil.equals(fieldName, "view-count")>
152 ${curEntry.getViewCount()} <@liferay.language key="views" />
153 </#if>
154 </span>
155 </#if>
156</#macro>