
---, --/--/--, --:--:--
Chào mừng bạn đến với Trang thông tin điện tử Viện kiểm sát nhân dân tỉnh Đồng Tháp
テンプレート処理中にエラーが発生しました。
The string doesn't match the expected date/time/date-time format. The string to parse was: "Oct 3, 2025, 12:00:00 AM". The expected format was: "MMM d, yyyy hh:mm:ss a".
The nested reason given follows:
Unparseable date: "Oct 3, 2025, 12:00:00 AM"
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign publicDate = publicDateStr?da... [in template "20097#20123#3554198" at line 96, column 41]
----
1<#assign portletDisplayId = themeDisplay.getPortletDisplay().getId() />
2<#assign namespace = themeDisplay.getPortletDisplay().getNamespace() />
3<#assign baseUrl = "${themeDisplay.getPathFriendlyURLPublic()}${themeDisplay.getSiteGroup().getFriendlyURL()}" />
4<#assign fullUrl = themeDisplay.getURLCurrent()>
5<#assign currentURLPage = fullUrl?split("?")[0]>
6<style>
7 .${portletDisplayId} {
8 border: 1px solid #398ee6;
9 }
10
11 .${portletDisplayId} .category-title {
12 background: linear-gradient(to right, #53a0e8 0%, #207ce5 100%);
13 color: white;
14 padding: 10px;
15 font-weight: bold;
16 }
17
18 .${portletDisplayId} .category-content {
19 padding: 10px;
20 }
21
22 .${portletDisplayId} .article-list .article-item {
23 margin-bottom: 10px;
24 border-bottom: 1px dotted #b3b3b3;
25 padding-bottom: 5px;
26 }
27
28 .${portletDisplayId} .article-list .article-item a.article-img {
29 display: block;
30 }
31
32 .${portletDisplayId} .article-list .article-item a.article-img img {
33 height: 250px;
34 }
35
36 .${portletDisplayId} .article-list .article-item a.article-name {
37 text-decoration: none;
38 color: black;
39 font-size: 1rem;
40 font-weight: bold;
41 display: block;
42 margin-top: 5px;
43 text-align: justify;
44 }
45
46 /* ----------- PAGINATION -----------------*/
47 .${portletDisplayId} .pagination-nav {
48 display: flex;
49 flex-direction: column;
50 align-items: flex-end;
51 gap: 10px;
52 }
53
54 .${portletDisplayId} .pagination-nav a.page-link.activePage {
55 color: #ffffff !important;
56 text-decoration: none;
57 font-weight: bold;
58 background-color: #17c4ee;
59 }
60
61 @media(min-width: 768px){
62 .${portletDisplayId} .article-list .article-item {
63 display: flex;
64 }
65
66 .${portletDisplayId} .article-list .article-item a.article-img {
67 margin-right: 10px;
68 width: 100px;
69 height: 70px;
70 }
71
72 .${portletDisplayId} .article-list .article-item a.article-img img {
73 height: 100%;
74 width: 100%;
75 }
76
77 .${portletDisplayId} .article-list .article-item a.article-name {
78 display: block;
79 width: 100%;
80 font-size: 1rem;
81 }
82 }
83</style>
84
85<div class="${portletDisplayId}">
86 <div class="category-title">
87 <#if category?has_content>
88 ${category}
89 </#if>
90 </div>
91 <div class="category-content">
92 <#if entries?has_content>
93 <div class="article-list">
94 <#list entries as articleItem>
95 <#assign publicDateStr = "${articleItem.getPublicationDate()}" />
96 <#assign publicDate = publicDateStr?datetime("MMM d, yyyy hh:mm:ss a") />
97 <div class="article-item">
98 <a class="article-img" href="${baseUrl}/tin-tuc/chi-tiet?id=${articleItem.getId()}">
99 <img
100 src="${articleItem.getAvarta()}"
101 alt="ảnh ${articleItem_index + 1}"
102 onerror="this.onerror=null;this.src='/documents/1598162/0/placeholder.jpg/092b2c13-2c5a-ee9b-448d-b250661a076c?t=1752118622271';"
103 />
104 </a>
105 <a class="article-name" href="${baseUrl}/tin-tuc/chi-tiet?id=${articleItem.getId()}">
106 ${articleItem.getName()} <span style="font-size: 14px;" class="text-primary font-italic">- ${publicDate?string("dd/MM/yyyy")} (số lượt xem: ${articleItem.getViews()})</span>
107 </a>
108 </div>
109 </#list>
110 </div>
111
112 <!-- PAGINATION -->
113 <#if (limit > 0) && (totalItems > 0)>
114 <#assign maxPage = 5 />
115 <#assign totalPage = (totalItems / limit)?ceiling />
116 <#assign currentPage = currentPage?number!1 />
117
118 <nav class="pagination-nav">
119 <ul class="pagination justify-content-end">
120 <!-- Trang đầu -->
121 <#if (currentPage > 1)>
122 <li class="page-item">
123 <a disabled class="page-link page-link-previous" href="${currentURLPage}?${namespace}p=1" aria-label="Trang đầu" title="Đi đến trang đầu tiên">
124 <span aria-hidden="true">«</span>
125 </a>
126 </li>
127 </#if>
128
129 <!-- Xử lý phân trang -->
130 <#assign startPage = 1, endPage = totalPage />
131 <#if (totalPage > maxPage)>
132 <#assign startPage = currentPage - 2, endPage = currentPage + 2 />
133 <#if (startPage < 1)>
134 <#assign startPage = 1, endPage = maxPage />
135 </#if>
136 <#if (endPage > totalPage)>
137 <#assign endPage = totalPage, startPage = totalPage - maxPage + 1 />
138 </#if>
139 </#if>
140
141 <!-- Danh sách trang -->
142 <#list startPage..endPage as i>
143 <li class="page-item">
144 <a class="page-link <#if i = currentPage>activePage</#if>" href="${currentURLPage}?${namespace}p=${i}">
145 ${i}
146 </a>
147 </li>
148 </#list>
149
150 <!-- Trang cuối -->
151 <#if (currentPage < totalPage)>
152 <li class="page-item">
153 <a class="page-link page-link-next" href="${currentURLPage}?${namespace}p=${totalPage}" aria-label="Trang cuối" title="Đi đến trang cuối cùng">
154 <span aria-hidden="true">»</span>
155 </a>
156 </li>
157 </#if>
158 </ul>
159
160 <!-- Thông tin hiển thị -->
161 <#assign startItem = ((currentPage - 1) * limit) + 1 />
162 <#assign endItem = (currentPage * limit) />
163 <#if (endItem > totalItems)>
164 <#assign endItem = totalItems />
165 </#if>
166 <div>
167 Hiển thị từ ${startItem} - ${endItem} trong ${totalItems} kết quả.
168 </div>
169 </nav>
170 </#if>
171 </#if>
172 </div>
173</div>
Văn bản chỉ đạo - điều hành
Liên kết


