¿Qué vas a encontrar aquí?
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService") [in template "30371356#30371394#30521243" at line 1, column 39]
----
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: #assign journalArticleLocalService = ... [in template "30371356#30371394#30521243" at line 1, column 1]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")>
2<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleResourceLocalService")>
3<#assign journalArticleClassName = "com.liferay.portlet.journal.model.JournalArticle">
4<#assign recosURL = themeDisplay.getURLPortal() + themeDisplay.getURLCurrent()>
5<#assign linkNewsText = "">
6<#if recosURL?contains("?")>
7 <#assign recosURL = recosURL?substring(0,recosURL?index_of("?"))>
8</#if>
9<#if recosURL?contains("/es/") && !recosURL?contains("recomendaciones")>
10 <#assign recosURL = recosURL?replace(recosURL?substring(recosURL?index_of("/es/") + "/es/"?length,recosURL?length), "recomendaciones")>
11 <#assign linkNewsText = "Más recomendaciones">
12</#if>
13<#if recosURL?contains("/eu/") && !recosURL?contains("gomendioak")>
14 <#assign recosURL = recosURL?replace(recosURL?substring(recosURL?index_of("/eu/") + "/eu/"?length,recosURL?length), "gomendioak")>
15 <#assign linkNewsText = "Gomendio gehiago">
16</#if>
17<div class="adm_recomendaciones">
18 <div class="adm_recomendaciones_listado">
19 <#if entries?has_content>
20 <#list entries as curEntry>
21 <#assign journalArticleResource = journalArticleResourceLocalService.getJournalArticleResource(curEntry.getClassPK()) >
22 <#assign journalArticle = journalArticleLocalService.getArticle(groupId, journalArticleResource.getArticleId()) >
23 <#if curEntry?has_content>
24 <#assign renderer = curEntry.getAssetRenderer()>
25 <#assign className = renderer.getClassName() >
26 <#if validator.equals(className?string,journalArticleClassName?string) >
27 <#assign journalArticle = renderer.getArticle() >
28 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
29 <#assign img = document.valueOf("//dynamic-element[@name='imagen']/dynamic-content/text()") />
30 <#assign titulo = document.valueOf("//dynamic-element[@name='textoLink']/dynamic-content/text()") />
31 <#assign enlace = document.valueOf("//dynamic-element[@name='link']/dynamic-content/text()") />
32 <#assign documento = document.valueOf("//dynamic-element[@name='documento']/dynamic-content/text()") />
33 <#if documento?has_content >
34 <#assign url = "href='${documento}'" />
35 <#elseif enlace?has_content >
36 <#assign url = "href='${enlace}'" />
37 </#if>
38 <#assign target = "">
39 <#if (url?contains("https") || url?contains("https")) && !url?contains("adimengunea") || documento?has_content>
40 <#assign target = " target='_blank'">
41 </#if>
42 </#if>
43 <div class="col-12 col-sm-4 col-md-4 col-lg-3 recomendacion">
44 <a class="enlaceRecomendacion" ${url}${target}>
45 <div class="img"><img src="${img}"${target}></div>
46 <div class="title"><p>${titulo}</p></div>
47 </a>
48 </div>
49 </#if>
50 </#list>
51 </#if>
52 </div>
53</div>
54<style>
55.adm_recomendaciones{
56 margin-bottom: 85px;
57}
58.adm_recomendaciones .adm_recomendaciones_listado{
59 justify-content: center;
60 display: flex;
61 flex-direction: column;
62 width: fit-content;
63 margin-right: auto;
64 margin-left: auto;
65}
66
67.adm_recomendaciones .adm_recomendaciones_listado .recomendacion{
68 display: flex;
69 flex-direction: column;
70 justify-content: space-between;
71 margin-bottom: 70px;
72 padding: unset;
73}
74
75.adm_recomendaciones .adm_recomendaciones_listado .recomendacion:last-child{
76 margin-bottom: unset;
77}
78
79.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion:active{
80 text-decoration: unset;
81}
82
83.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img{
84 text-align: center;
85 margin-bottom: 15px;
86}
87
88.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img img{
89 flex-grow: 1;
90 width: 345px;
91 height: auto;
92}
93
94.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title{
95 display: flex;
96 margin-left: auto;
97 margin-right: auto;
98 max-width: 185px;
99 text-align: center;
100 justify-content: center;
101}
102
103.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title p{
104 color: rgb(33, 33, 33);
105 font-family: "Open Sans", sans-serif;
106 font-size: 16px;
107 font-variant-ligatures: none;
108 text-align: center;
109 font-weight: normal;
110}
111
112.adm_recomendaciones .adm_recomendaciones_enlace{
113 text-align: center;
114 margin-top: 55px;
115 font-size: 14px;
116 text-transform: uppercase;
117}
118
119.adm_recomendaciones .adm_recomendaciones_enlace .enlaceRecomendaciones{
120 color: #000000;
121 font-weight: bold;
122}
123
124.adm_recomendaciones .adm_recomendaciones_enlace .enlaceRecomendaciones:hover{
125 color: #000000;
126}
127
128.taglib-page-iterator{
129 margin-left: 5px;
130 margin-right: 5px;
131}
132
133.taglib-page-iterator .lfr-pagination .search-results{
134 display: none;
135}
136
137.taglib-page-iterator .lfr-pagination ul li a{
138 margin-right: 10px;
139 color: #537391 !important;
140 border: unset;
141}
142
143.taglib-page-iterator .lfr-pagination ul li.disabled a{
144 color: #999 !important;
145 pointer-events: none;
146}
147
148.taglib-page-iterator .lfr-pagination ul li.disabled a:focus, .taglib-page-iterator .lfr-pagination ul li.disabled a:focus-visible{
149 border: unset;
150}
151
152.aui .btn, .aui .btn:hover, .aui .btn:focus, .aui .btn:active, .aui .btn.active, .aui .btn.disabled, .aui .btn[disabled]{
153 background-color: #537391;
154 background-position: 0 -50px;
155 color: #ffffff;
156}
157
158.aui .btn-group.open .btn.dropdown-toggle {
159 background-color: #537391;
160}
161
162.aui .dropdown-menu>li>a:hover, .aui .dropdown-menu>li>a:focus, .aui .dropdown-submenu:hover>a, .aui .dropdown-submenu:focus>a{
163 background-color: #537391;
164 background-image: unset;
165 color: #ffffff;
166}
167
168.taglib-page-iterator .lfr-pagination .lfr-pagination-config .lfr-pagination-delta-selector{
169 display: none;
170}
171
172.taglib-page-iterator .lfr-pagination .lfr-pagination-config .lfr-pagination-page-selector .btn-group.lfr-icon-menu.current-page-menu .dropdown-toggle.direction-down.max-display-items-15.btn{
173 margin-left: 31%;
174 margin-right: 31%;
175 margin-bottom: 15px;
176 width: auto;
177 font-size: 14px;
178}
179
180.taglib-page-iterator .lfr-pagination .lfr-pagination-config .lfr-pagination-page-selector .btn-group.lfr-icon-menu.current-page-menu .dropdown-toggle.direction-down.max-display-items-15.btn .caret{
181 margin-left: 5px;
182 border-top: 4px solid white;
183}
184
185.taglib-page-iterator .lfr-pagination .pager.lfr-pagination-buttons{
186 margin-top: 20px;
187 width: fit-content;
188 margin-left: auto;
189 margin-right: auto;
190}
191
192div#wrapperIkastea .taglib-page-iterator ul.lfr-pagination-buttons>li{
193 margin-top: auto;
194 margin-bottom: auto;
195}
196
197div#wrapperIkastea .taglib-page-iterator ul.lfr-pagination-buttons>li a{
198 font-size: 14px;
199 padding: unset;
200 margin-right: 13px;
201 margin-left: 13px;
202}
203
204@media (min-width: 768px){
205 .adm_recomendaciones .adm_recomendaciones_listado{
206 flex-flow: row wrap;
207 justify-content: flex-start;
208 width: auto;
209 }
210 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion{
211 margin-bottom: 35px;
212 padding-right: 18px;
213 padding-left: 18px;
214 }
215 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion:nth-child(3n+2){
216 margin-right: auto;
217 margin-left: auto;
218 }
219
220 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion:last-child{
221 margin-left: unset !important;
222 }
223 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img img{
224 height: 195px;
225 width: 195px;
226 }
227 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title p{
228 font-size: 18px;
229 }
230 .taglib-page-iterator{
231 margin-left: 18px;
232 margin-right: 18px;
233 }
234 .taglib-page-iterator .lfr-pagination .lfr-pagination-config .lfr-pagination-page-selector .btn-group.lfr-icon-menu.current-page-menu .dropdown-toggle.direction-down.max-display-items-15.btn{
235 margin-left: unset;
236 margin-right: unset;
237 font-size: 16px;
238 }
239 .taglib-page-iterator .lfr-pagination .pager.lfr-pagination-buttons{
240 margin-top: 8px;
241 margin-bottom: 8px;
242 }
243 div#wrapperIkastea .taglib-page-iterator ul.lfr-pagination-buttons>li a{
244 font-size: 16px;
245 padding: 5px 14px;
246 margin-right: unset;
247 }
248}
249
250@media (min-width: 840px){
251 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img img{
252 width: 275px;
253 height: 275px;
254 }
255}
256
257@media (min-width: 1024px){
258 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title p{
259 font-size: 22px;
260 }
261 .adm_recomendaciones .adm_recomendaciones_enlace{
262 font-size: 16px;
263 }
264}
265
266@media (min-width: 1176px){
267 .adm_recomendaciones .adm_recomendaciones_listado{
268 justify-content: flex-start;
269 }
270 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion{
271 padding-right: 15px;
272 padding-left: 15px;
273 }
274 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img img{
275 width: 333px;
276 height: 333px;
277 }
278 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title{
279 margin-top: 25px;
280 margin-bottom: 15px;
281 }
282 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion:hover{
283 color: #537391;
284 text-decoration: unset;
285 }
286 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img:hover img{
287 box-shadow: 0.5px 0.5px 3px 3px #537391;
288 }
289}
290
291@media (min-width: 1200px){
292 .taglib-page-iterator{
293 margin-left: 1.3%;
294 margin-right: 3%;
295 }
296 .adm_recomendaciones .adm_recomendaciones_listado .recomendacion:nth-child(3n+2){
297 margin-right: unset;
298 margin-left: unset;
299 }
300}
301</style>