Advertisements
Advertisements
Filters:
An error occurred while processing the template.
The following has evaluated to null or missing: ==> diaSemana [in template "20096#20121#202214" at line 88, column 65] ---- Tip: If the failing expression is known to 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: ${diaSemana} [in template "20096#20121#202214" at line 88, column 63] ----
1<#assign DLFileEntryLocalServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
2<#assign AssetEntryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />
3<#assign AssetVocabularyLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil"] />
4<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign dateFormat = "yyyy-MM-dd">
6<#assign languageId = themeDisplay.getLanguageId() />
7
8
9<div class="mb-5">
10 <p class="c-slm-negro font-weight-bold mb-0">
11 <@liferay.language key="slm.eventos.resultados-busqueda" />
12 </p>
13 <div class="d-flex">
14 <strong class="ht4">
15 ${htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords())}
16 </strong>
17
18 <#if htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords()) != "" >
19 <button id="slm-search-clear-text" class="border-0 bg-transparent ml-2">
20 <@clay.icon symbol="times" color="#0075C9" />
21 </button>
22 </#if>
23 </div>
24
25 <div>
26 <p class="small c-slm-gris-huge">
27 <@liferay.language_format key="slm.se-han-encontrado-x-resultados" arguments="${searchContainer.getTotal()}" />
28 </p>
29 </div>
30</div>
31
32<div class="display-list">
33 <div class="list-group list-unstyled" id="search-results-display-list">
34 <div class="row">
35 <#if entries?has_content>
36 <#list entries as entry>
37 <#-- OBTENER ASSET ENTRY DE CADA CONTENIDO Y ENTRIES DE CATEGORIAS -->
38 <#assign assetEntry = AssetEntryLocalServiceUtil.getEntry(entry.getClassName(), entry.getClassPK()?number) />
39 <#assign assetCategories = assetEntry.getCategories() />
40
41 <#-- OBTENER INFO DEL CONTENIDO -->
42 <#assign renderer = assetEntry.getAssetRenderer() />
43 <#assign classNameId = assetEntry.getClassNameId()?string />
44 <#assign className = assetEntry.getClassName()?string />
45 <#assign classPk = assetEntry.getClassPK() />
46
47 <#assign journalArticle = renderer.getArticle() />
48 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
49 <#assign rootElement = document.getRootElement() >
50
51
52 <#-- CAMPOS DE REDIRECCIONAMIENTO -->
53 <#assign urlExterna = getFieldString("UrlExterna", rootElement) />
54 <#assign nuevaPestana = getFieldString("NuevaPestana", rootElement) />
55 <#assign target = "" />
56
57 <#-- OBTENER FRIENDLY URL -->
58 <#assign friendlyUrlMap = journalArticle.getFriendlyURLMap() />
59 <#assign friendlyUrl = "/w/" + getMapValue(friendlyUrlMap, languageId) />
60
61 <#if urlExterna != "" >
62 <#assign friendlyUrl = urlExterna />
63
64 <#if nuevaPestana == "true">
65 <#assign target = "_blank" />
66 </#if>
67 </#if>
68
69
70 <!-- <#assign fecha = journalArticle.getDisplayDate()?date?string["yyyy-MM-dd"] /> -->
71
72
73 <#assign fecha = getFieldString("FechaPublicacion", rootElement) />
74
75
76
77 <#if validator.isNotNull(fecha)>
78 <#assign fechaInicio_Obj = dateUtil.parseDate("yyyy-MM-dd", fecha, locale)>
79
80 <#assign diaSemana = dateUtil.getDate(fechaInicio_Obj, "EEEE", locale) />
81 <#assign dia = dateUtil.getDate(fechaInicio_Obj, "dd", locale) />
82 <#assign mes = dateUtil.getDate(fechaInicio_Obj, "MMMM", locale) />
83 <#assign anyo = dateUtil.getDate(fechaInicio_Obj, "yyyy", locale) />
84 </#if>
85
86
87 <div class="col-sm-6 col-md-4 mb-5 slm-anuncio">
88 <span class="pb-2 text-muted d-block">${diaSemana}, ${dia} de ${mes} de ${anyo}</span>
89 <div class="slm-anuncio-info mb-3">
90 <p class="slm-anuncio-title h5 mb-0">
91 ${assetEntry.getTitle(locale)}
92 </p>
93 </div>
94 <a class="text-decoration-none" href="${friendlyUrl}" target="${target}" >
95 <span class="slm-anuncio-link text-uppercase">
96 <@liferay.language key="slm.leer-mas" />
97 </span>
98 </a>
99 </div>
100 </#list>
101 </#if>
102 </div>
103 </div>
104</div>
105
106<@liferay_aui.script use="aui-base">
107 A.one('#search-results-display-list').delegate(
108 'click',
109 function(event) {
110 var currentTarget = event.currentTarget;
111
112 currentTarget.siblings('.search-results-list').toggleClass('hide');
113 },
114 '.expand-details'
115 );
116</@liferay_aui.script>
117
118
119<#function getFieldString fieldReference rootElementParam >
120 <#if
121 saxReaderUtil.createXPath("dynamic-element[@field-reference='" + fieldReference + "']/dynamic-content").selectSingleNode(rootElementParam)?? &&
122 saxReaderUtil.createXPath("dynamic-element[@field-reference='" + fieldReference + "']/dynamic-content").selectSingleNode(rootElementParam).getStringValue() != "">
123 >
124 <#assign fieldValue = saxReaderUtil.createXPath("dynamic-element[@field-reference='" + fieldReference + "']/dynamic-content").selectSingleNode(rootElementParam).getStringValue() />
125 <#return fieldValue />
126 </#if>
127
128 <#return "" />
129</#function>
130
131
132<#function getMapValue map languageId >
133 <#list map as key, value >
134 <#if key == languageId >
135 <#return value />
136 </#if>
137 </#list>
138
139 <#return "" />
140</#function>
141
142<script type="text/javascript">
143 window.addEventListener("load", function(){
144
145 //Evento limpiar texto de busqueda
146 var slmSearchClearText = document.getElementById('slm-search-clear-text')
147 slmSearchClearText.addEventListener('click', function(){
148 deleteUrlParam('q')
149 })
150
151
152 function deleteUrlParam(paramName) {
153 var url = window.location.href;
154
155 var urlPartes = url.split('?');
156 if (urlPartes.length >= 2) {
157 var parametros = urlPartes[1].split('&');
158
159 parametros = parametros.filter(function(parametro) {
160 return parametro.split('=')[0] !== paramName;
161 });
162
163 url = urlPartes[0] + (parametros.length > 0 ? '?' + parametros.join('&') : '');
164 }
165 window.location.href = url;
166 }
167
168 });
169</script>
170
171
172<style>
173 .slm-anuncio {
174 display: flex;
175 flex-direction: column;
176 line-height: 19px;
177 }
178 .slm-anuncio:hover{
179 text-decoration: none;
180 }
181 .slm-anuncio .slm-anuncio-info .slm-anuncio-title{
182 font-family: "Satoshi-Bold";
183 color: var(--salamanca-negro);
184 font-size: 24px;
185 }
186 .slm-anuncio-link{
187 color: var(--salamanca-azul);
188 font-weight: 700;
189 line-height: 104.5%;
190 letter-spacing: -0.32px;
191 padding-bottom: 2px;
192 text-decoration: underline;
193 text-decoration-thickness: auto;
194 text-underline-offset: 6px;
195 text-decoration-thickness: 2px;
196 }
197 .slm-anuncio-link:hover{
198 color: var(--salamanca-azul-o);
199 }
200</style>