WST's News
An error occurred while processing the template.
The following has evaluated to null or missing: ==> foto [in template "10136#10174#153676878" at line 173, column 118] ---- 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: ${foto} [in template "10136#10174#153676878" at line 173, column 116] ----
1<#assign dateFormat = "dd|MM|yyyy">
2<#if (locale == "en_US")>
3 <#assign dateFormat = "yyyy|MM|dd">
4<#elseif (locale == "eu_ES")>
5 <#assign dateFormat = "MM|dd|yyyy">
6</#if>
7<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
8<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
9<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
10
11<#assign groupFriendlyURL = themeDisplay.getScopeGroup().getFriendlyURL() />
12<#assign friendlyURL = themeDisplay.getScopeGroup().getPathFriendlyURL(false,themeDisplay) + groupFriendlyURL />
13<#assign actualURLFriendly = portalUtil.getHost(request) + friendlyURL />
14
15
16<#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
17<#assign URLEncoder = staticUtil["java.net.URLEncoder"] />
18<#assign Normalizer = staticUtil["java.text.Normalizer"] />
19<#assign currentGroupSite = themeDisplay.getLayout().getGroup().getFriendlyURL() />
20<#if themeDisplay.getLayout().getPrivateLayout() == true >
21 <#assign state = themeDisplay.getPathFriendlyURLPrivateGroup()/>
22<#else>
23 <#assign state = themeDisplay.getPathFriendlyURLPublic()/>
24</#if>
25
26
27
28<#assign readMore = languageUtil.get(locale, "leer.mas")>
29<#assign instanceId = themeDisplay.getPortletDisplay().getId()?replace("com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_", "")>
30<#assign currentPageUrl = PortalUtil.getLayoutURL(themeDisplay.getLayout(),themeDisplay)>
31
32
33<#assign instanceId ="lovPblW1fC70">
34
35
36
37<#if entries?has_content>
38 <div class="container">
39 <div class="row">
40 <#list entries as curEntry>
41 <#assign article = journalArticleLocalService.fetchLatestArticle(curEntry.getClassPK()) />
42 <#assign assetRendererDate = curEntry.getAssetRenderer() />
43 <#assign contentFecha = assetRendererDate.getDisplayDate()?date />
44 <#assign contentFechaURLString = contentFecha?date?string["dd/MM/yyyy"] />
45 <#assign contentFechaString = contentFecha?date?string["dd | MM | yyyy"] />
46
47 <#assign aArticleXML = saxReaderUtil.read(article.getContentByLocale(locale)) />
48 <#assign tituloNoticia = aArticleXML.valueOf("//dynamic-element[@name='Titulo_noticia']/dynamic-content/text()") />
49 <#assign entradilla = aArticleXML.valueOf("//dynamic-element[@name='subtitulo']/dynamic-content/text()") />
50 <#assign autorNombre = aArticleXML.valueOf("//dynamic-element[@name='Nombre_autor']/dynamic-content/text()") />
51 <#assign autorImagen = aArticleXML.valueOf("//dynamic-element[@name='Autor_imagen']/dynamic-content/text()") />
52 <#assign jsonObjectString = aArticleXML.valueOf("//dynamic-element[@name='Imagen']/dynamic-content/text()") />
53
54 <#assign idNoticia = curEntry.getClassPK()/>
55
56 <#assign video = aArticleXML.valueOf("//dynamic-element[@name='Video_youtube']/dynamic-content/text()") />
57
58 <#assign friendlyContentURL = assetPublisherHelper.getAssetViewURL(portalUtil.getLiferayPortletRequest(renderRequest), portalUtil.getLiferayPortletResponse(renderResponse), curEntry,true) />
59
60 <#assign tituloNoticiaEncoded = friendlyUrlDecode(tituloNoticia)>
61
62 <#-- Urls generated always the same page for unav requirements -->
63 <#assign urlNews = languageUtil.get(locale, "url.news.details", "/noticias")>
64
65
66
67 <#-- WORKAROUND FOR TEMPORAL SITES GO LIVE -->
68
69 <#if scopeGroupId = 11140003>
70
71 <#assign urlNews = "/unidad-de-cultura-cientifica/noticias">
72 <#if actualURLFriendly?contains("lfr.cloud")>
73 <#assign urlNews = "/web"+groupFriendlyURL + "/unidad-de-cultura-cientifica/noticias">
74 </#if>
75
76 <#assign instanceId = "yhapDUuDh4hp">
77 </#if>
78 <#if scopeGroupId = 5284696>
79 <#if actualURLFriendly?contains("lfr.cloud")>
80 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
81 </#if>
82 <#assign instanceId = "J0z0CEIllYkO">
83 </#if>
84 <#if scopeGroupId = 18305454>
85 <#if actualURLFriendly?contains("lfr.cloud")>
86 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
87 </#if>
88 <#assign instanceId = "LafHSsNmQzOW">
89 </#if>
90 <#if scopeGroupId = 24729411>
91 <#if actualURLFriendly?contains("lfr.cloud")>
92 <#assign urlNews = "/web"+groupFriendlyURL + "/news">
93 </#if>
94 <#assign instanceId = "X6fAQfzqF5af">
95 </#if>
96 <#if scopeGroupId = 31657203>
97 <#if actualURLFriendly?contains("lfr.cloud")>
98 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
99 </#if>
100 <#assign instanceId = "ja3fYkrbU86Q">
101 </#if>
102 <#if scopeGroupId = 24233193>
103 <#if actualURLFriendly?contains("lfr.cloud")>
104 <#assign urlNews = "/web"+groupFriendlyURL + "/sala-de-prensa/noticias-y-eventos">
105 </#if>
106 <#assign instanceId = "1tZ9oin6Nj8k">
107 </#if>
108 <#if scopeGroupId = 23796512>
109 <#if actualURLFriendly?contains("lfr.cloud")>
110 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
111 </#if>
112 <#assign instanceId = "jlsoUQnQ3VKq">
113 </#if>
114 <#if scopeGroupId = 20757644>
115 <#if actualURLFriendly?contains("lfr.cloud")>
116 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
117 </#if>
118 <#assign instanceId = "Hy05yqXifLyo">
119 </#if>
120 <#if scopeGroupId = 19239240>
121 <#if actualURLFriendly?contains("lfr.cloud")>
122 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
123 </#if>
124 <#assign instanceId = "4CDvZCujBWZJ">
125 </#if>
126 <#if scopeGroupId = 25489263>
127 <#if actualURLFriendly?contains("lfr.cloud")>
128 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
129 </#if>
130 <#assign instanceId = "Hk7OgfYuivNX">
131 </#if>
132 <#if scopeGroupId = 5318873>
133 <#if actualURLFriendly?contains("lfr.cloud")>
134 <#assign urlNews = "/web"+groupFriendlyURL + "/el-museo/noticias">
135 </#if>
136 <#assign instanceId = "Hw8G">
137 </#if>
138 <#assign urlDetail = urlNews+"/-/contents/"+contentFechaURLString+"/"+tituloNoticiaEncoded+"/content/"+instanceId+"/"+curEntry.getEntryId()>
139
140
141
142
143
144
145
146 <#if validator.isNotNull(video)>
147
148
149 <#assign foto = "http://img.youtube.com/vi/"+video+"/0.jpg">
150
151 <#else>
152
153 <#if jsonObjectString?? && jsonObjectString?has_content>
154 <#attempt>
155 <#assign jsonObject = jsonObjectString?eval>
156 <#assign entryUuid = jsonObject.uuid />
157 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
158 <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
159 <#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
160 <#assign assetRenderer = assetEntry.assetRenderer />
161 <#assign foto = assetRenderer.getURLDownload(themeDisplay) />
162
163
164 <#recover>
165 <#assign foto = "" />
166
167 </#attempt>
168
169 </#if>
170 </#if>
171 <a id="${idNoticia}" class="col-xs-12 col-md-4 noticia-secundaria" href="${urlDetail}" alt="" title="">
172 <div class="col-xs-12 panel panel panel-default">
173 <div class="col-xs-12 col-sm-6 col-md-12 img-responsive noticia-img" style="background:url(${foto}) no-repeat"></div>
174 <div class="col-xs-12 col-sm-6 col-md-12 panel-body">
175 <p class="fecha">${dateUtil.getDate(article.getDisplayDate(), dateFormat, locale)}</p>
176 <p class="antetitulo">${autorNombre}</p>
177 <h3 class="titulo">
178 <#if (tituloNoticia?length > 200)>
179 ${newsTitle[0..199]}
180 <#else>
181 ${newsTitle}
182 </#if>
183 </h3>
184 <p class="visible-md visible-lg entradilla">
185 <#if (entradilla?length > 135)>
186 ${entry[0..134]}
187 <#else>
188 ${entry}
189 </#if>
190 </p>
191 </div>
192 <p class="col-xs-12 col-sm-6 col-sm-offset-6 col-md-12 col-md-offset-0 enlace">
193
194 <span href="${urlDetail}">${readMore}</span>
195 </p>
196 </div>
197 </a>
198
199 <#if validator.isNotNull(video)>
200 <!-- Modal de video -->
201 <div class="modal fade modal-unav" id="noticia_${idNoticia}_modal_video" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
202 <div class="modal-dialog" role="document">
203 <div class="modal-content">
204 <div class="modal-body">
205 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
206 <span aria-hidden="true">×</span>
207 </button>
208 <div class="embed-responsive embed-responsive-16by9">
209 <iframe class="embed-responsive-item" src="" id="noticia_${idNoticia}_video_iframe" allowscriptaccess="always" allow="autoplay"></iframe>
210 </div>
211 </div>
212 </div>
213 </div>
214 </div>
215
216 <script>
217 $(document).ready(function() {
218 var $videoSrc;
219 $('#${idNews}.modal_opener').click(function(e) {
220 e.preventDefault();
221 $videoSrc = $(this).getData()( "src" );
222 $("#noticia_${idNoticia}_video_iframe").attr('src',$videoSrc + "?autoplay=1&modestbranding=1&showinfo=0" );
223 });
224
225 $('#news_${idNews}_modal_video button').click(function(e) {
226 $("#noticia_${idNoticia}_video_iframe").attr('src', '');
227 });
228 });
229 </script>
230 </#if>
231 </#list>
232 </div>
233 </div>
234</#if>
235
236<#function friendlyUrlDecode title>
237
238 <#assign titleFriendly = title?replace("[^A-Za-z0-9À-ú ]", "", "r")?lower_case>
239 <#assign titleFriendly = titleFriendly?replace("á", "a", "r")>
240 <#assign titleFriendly = titleFriendly?replace("é", "e", "r")>
241 <#assign titleFriendly = titleFriendly?replace("í", "i", "r")>
242 <#assign titleFriendly = titleFriendly?replace("ó", "o", "r")>
243 <#assign titleFriendly = titleFriendly?replace("ú", "u", "r")>
244 <#assign titleFriendly = titleFriendly?replace("ñ", "n", "r")>
245 <#assign titleFriendly = URLEncoder.encode(titleFriendly)>
246 <#assign titleFriendly = titleFriendly?replace("\\+", "-","r")>
247 <#return titleFriendly>
248</#function>
—
3 Items per Page
In the shoes of...
Nerea Tabuenca
Student of 5º Double Degree of Chemistry and Biochemistry
award WONNOW for her academic transcript and her professional, staff and social career.