HAND TALK
Clique neste componente para ter acesso as configurações do plugin Hand Talk
An error occurred while processing the template.
The string doesn't match the expected date/time/date-time format. The string to parse was: "Dec 31, 1969 9:00 PM". The expected format was: "dd/MM/yyyy HH:mm".
The nested reason given follows:
Unparseable date: "Dec 31, 1969 9:00 PM"
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign publishDateDT = entry.getPubl... [in template "20095#20120#244147" at line 146, column 73]
----
1<#assign prefix="prodam">
2<#setting locale="pt_BR">
3
4<#assign
5 journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
6 groupLocalService=serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")
7/>
8
9<#assign structuresRefMap={}>
10
11<#macro getJournalArticleFields entry>
12 <#if entry.isDocumentFormVisible()>
13 <#assign documentFormFieldDisplayContexts = entry.getDocumentFormFieldDisplayContexts()>
14 <#assign contextsMap = {}>
15
16 <#list documentFormFieldDisplayContexts as context>
17 <#assign contextsMap = contextsMap + {context.getName():context.getValuesToString()}>
18 </#list>
19
20 <#assign classTypeId = contextsMap["classTypeId"]>
21
22 <#if structuresRefMap[classTypeId]?has_content>
23 <#assign structureName = structuresRefMap[classTypeId]>
24 <#else>
25 <#attempt>
26 <#assign structureName = restClient.get("/headless-delivery/v1.0/content-structures/" + classTypeId + "?fields=name")["name"]>
27 <#assign structuresRefMap = structuresRefMap + {classTypeId:structureName}>
28 <#recover>
29 <#assign structureName = entry.getModelResource()>
30 </#attempt>
31 </#if>
32
33 <#assign ddmFieldArray = contextsMap["ddmFieldArray"]?replace("[", "")?replace("]", "")?replace("{", "")?split("}, ")>
34
35 <#assign
36 abstract = ""
37 urlTarget = ""
38 redirectUrl = ""
39 content = ""
40 >
41 <#list ddmFieldArray as field>
42 <#if field?contains("keyword__" + classTypeId + "__abstract")>
43 <#assign abstract = getJournalArticleFieldValue(field, 'ddmFieldValueKeyword_pt_BR=', ', ddmFieldValueKeyword_pt_BR_String_sortable')>
44
45 <#elseif field?contains("keyword__" + classTypeId + "__urlTarget")>
46 <#assign urlTarget = getJournalArticleFieldValue(field, 'ddmFieldValueKeyword_pt_BR_String_sortable=', '')?lower_case>
47
48 <#elseif field?contains("keyword__" + classTypeId + "__redirectUrl")>
49 <#assign redirectUrl = getJournalArticleFieldValue(field, 'ddmFieldValueKeyword_pt_BR=', ', ddmFieldValueKeyword_pt_BR_String_sortable')>
50
51 <#elseif field?contains("text__" + classTypeId + "__content")>
52 <#assign content = getJournalArticleFieldValue(field, 'ddmFieldValueText_pt_BR=', ', ddmFieldValueText_pt_BR_String_sortable')>
53 </#if>
54 </#list>
55 </#if>
56</#macro>
57
58<#function getJournalArticleFieldValue field fromString toString>
59 <#assign value = "">
60
61 <#assign fromIndex = field?index_of(fromString) + fromString?length>
62 <#assign toIndex = (toString?has_content)?then((field?index_of(toString)), ((field?length)-1))>
63
64 <#if fromIndex != -1 && toIndex != -1>
65 <#assign value = field?substring(fromIndex, toIndex)>
66 </#if>
67
68 <#return value>
69</#function>
70
71<#macro getUserFields entry>
72 <#if entry.isDocumentFormVisible()>
73 <#assign documentFormFieldDisplayContexts = entry.getDocumentFormFieldDisplayContexts()>
74 <#assign contextsMap = {}>
75
76 <#assign userId = "unset">
77 <#list documentFormFieldDisplayContexts as context>
78 <#if context.getName() == "userId">
79 <#assign userId = context.getValuesToString()>
80 </#if>
81 </#list>
82 </#if>
83</#macro>
84
85<#assign siteBaseURL = themeDisplay.getPortalURL()>
86<#if currentURL?has_content>
87 <#if currentURL?contains("/web/")>
88 <#assign splitURL = currentURL?split("/web/")>
89 <#assign siteBaseURL = splitURL[0] + "/web/" + splitURL[1]?split("/")[0]>
90 </#if>
91</#if>
92
93<section class="${prefix}-search-results">
94 <#if entries?has_content>
95 <ul id="search-results-display-list" class="list-unstyled">
96 <#list entries as entry>
97 <#assign
98 isJournalArticle = false
99 isDLFileEntry = false
100 viewURL = entry.getViewURL()
101 >
102 <#if entry.isModelResourceVisible()>
103 <#if entry.getClassName() == "com.liferay.journal.model.JournalArticle">
104 <#assign isJournalArticle = true>
105 <@getJournalArticleFields entry/>
106 <#elseif entry.getClassName() == "com.liferay.document.library.kernel.model.DLFileEntry">
107 <#assign isDLFileEntry = true>
108 <#assign viewURL = entry.getAssetRendererURLDownload()?replace("&download=true", "") />
109 <#elseif entry.getClassName() == "com.liferay.portal.kernel.model.User">
110 <@getUserFields entry/>
111 <#assign viewURL = siteBaseURL + "/perfil?userId=" + userId>
112 </#if>
113 </#if>
114
115 <li class="${prefix}-search-results__item px-4 py-3">
116 <div class="autofit-col autofit-col-expand">
117 <div class="autofit-section">
118 <a href="${(redirectUrl?has_content)?then('${redirectUrl}','${viewURL}')}" target="${(urlTarget?has_content && urlTarget?contains('nova janela'))?then('_blank','_self')}">
119 <div class="${prefix}-title ${prefix}-text--size-lg color-gray-800 font-weight-bold mb-1">
120 ${entry.getHighlightedTitle()}
121 </div>
122 </a>
123
124 <div class="${prefix}-search-results__item__content-wrapper color-gray-600 mb-3" data-truncate-lines="3">
125 <span class="${prefix}-text ${prefix}-text--size-md">
126 <#if entry.isContentVisible() && !isDLFileEntry && !isJournalArticle>
127 ${entry.getContent()}
128 <#elseif isJournalArticle && abstract?has_content>
129 ${abstract}
130 <#elseif isJournalArticle && content?has_content>
131 ${content}
132 </#if>
133 </span>
134 </div>
135
136 <div class="${prefix}-search-results__item__metadata ${prefix}-text--size-sm text-uppercase">
137 <span class="${prefix}-search-results__item__metadata__type color-brand-color-2 font-weight-bold <#if entry.isPublishedDateVisible()>${prefix}-search-results__item__metadata__type--has-separator</#if>">
138 <#if entry.isModelResourceVisible() && !isJournalArticle>
139 ${entry.getModelResource()}
140 <#elseif isJournalArticle && structureName?has_content>
141 ${structureName}
142 </#if>
143 </span>
144
145 <#if entry.isPublishedDateVisible()>
146 <#assign publishDateDT = entry.getPublishedDateString()?datetime("dd/MM/yyyy HH:mm")>
147 <#assign publishDate = publishDateDT?string["dd MMM yyyy"]>
148 <#if entry.getClassName() != "com.liferay.calendar.model.CalendarBooking">
149 <span>•</span>
150 <span class="color-gray-600">${publishDate}</span>
151
152
153 <#attempt>
154
155 <#if isJournalArticle>
156
157 <script>
158 console.log(`${(entry.publishedDateString == "31/12/1969 21:00")?then(entry.modifiedDateString, entry.publishedDateString)}`)
159 console.log(`
160 <#list entry?keys as k>
161 ${k};
162 </#list>
163 `)
164 </script>
165
166 </#if>
167
168 <#recover>
169 </#attempt>
170 </#if>
171 </#if>
172 </div>
173 </div>
174 </div>
175 </li>
176 </#list>
177 </ul>
178 <#else>
179 <div class="text-center py-10">
180 <span class="${prefix}-search-results__total-label ${prefix}-text--size-xxl">
181 ${languageUtil.format(locale, "x-results", [searchContainer.getTotal()], false)}
182 </span>
183 <br/>
184 <span>Tente novamente com outros termos</span>
185 </div>
186
187 <style>
188 .${prefix}-search-filters {
189 display: none;
190 }
191 </style>
192 </#if>
193</section>