Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> imagen.BajaResolucionFieldSet.urlExterna3 [in template "10132#10165#PLANTILLA_NOTAS_PRENSA" at line 160, column 46] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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 imgBajaURL = imagen.BajaResol... [in template "10132#10165#PLANTILLA_NOTAS_PRENSA" at line 160, column 25] ----
1<#assign paginalistado="noticies">
2
3 <#assign paginaboletin="el-diari-de-la-diputacio">
4
5 <#assign vocabularioCategoriasTematicas="Tema_notes_premsa">
6
7 <#assign groupUtil= serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
8 <#assign group= groupUtil.getGroup( groupId)>
9
10 <#assign listadoURL="/web/sala-de-premsa/"+ paginalistado>
11
12 <#assign DLFileEntryUtil= serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
13 <#assign assetCategoryPropertyLocalService= serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService")>
14
15 <#--Datos obtenidos del Journal-->
16 <#assign display_date=dateUtil.parseDate("EEE,dd MMM yyyy HH:mm:ss Z", .vars["reserved-article-display-date"].data, languageUtil.getLocale("ca"))>
17 <#assign fecha=dateUtil.getDate( display_date,"dd/MM/yyyy HH:mm ", languageUtil.getLocale("ca"), company.getTimeZone())+"h.">
18 <div id="actualidad" class="notasPrensa">
19
20 <#--Obtener categorías temáticas-->
21
22 <#assign journalArticleLocalService= serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
23 <#assign journalArticle= journalArticleLocalService.getArticle( groupId, .vars["reserved-article-id"].data)>
24
25
26 <#assign assetEntryService= serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
27 <#assign assetEntry= assetEntryService.getEntry("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())>
28
29
30 <#assign assetCategoryService= serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
31 <#assign categorias= assetCategoryService.getEntryCategories( assetEntry.getEntryId())>
32 <#assign hasOds=false>
33
34
35 <#assign assetVocabularyService= serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
36
37
38 <p>
39 <#list categorias as categoria>
40 <#assign assetVocabulary= assetVocabularyService.getAssetVocabulary( categoria.getVocabularyId())>
41
42 <#if stringUtil.equals(assetVocabulary.getName(),vocabularioCategoriasTematicas)&&groupId==assetVocabulary.getGroupId()>
43 ${categoria.getName()} -
44 </#if>
45 <#if categoria.getVocabularyId()==308057240>
46 <#assign hasOds=true>
47 </#if>
48 </#list>
49
50
51 <#--FIN Obtener categorías temáticas-->
52
53
54 ${fecha} -
55 <#assign autorText= .vars["reserved-article-author-name"].data>
56 <#assign emailContacte= .vars["reserved-article-author-email-address"].data>
57 <#if Autor?? && Autor.getData()?has_content>
58 <#assign splitAutor= stringUtil.split(Autor.getData(),"|")>
59 <#if splitAutor?size gt 1>
60 <#assign autorText= splitAutor[0]>
61 <#assign emailContacte= splitAutor[1]>
62 </#if>
63 </#if>
64
65
66 <a href="mailto:${emailContacte}">${autorText}</a></p>
67 <strong> ${Antetitulo.getData()} </strong>
68 <#if hasOds>
69 <div class="row">
70 <#assign assetCategoryPropertyLocalService= serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService")>
71
72 <div class="col-fluid">
73 <a id="titolOds" class="btn" data-toggle="collapse" href="#categoryOds" role="button" aria-expanded="true" aria-controls="collapseExample" title="ODS">
74 <img src="/documents/167993676/170794330/sdgs-circle.jpg/ea64b0d5-7bfd-4147-a3f1-69156340b53b?t=1528792056902"/><i class="icon-large fa-solid fa-chevron-right"></i>
75 </a>
76 </div>
77 <div class="col collapse show" id="categoryOds">
78 <#list categorias as categoria>
79 <#if categoria.getVocabularyId()==308057240>
80 <#assign icon= assetCategoryPropertyLocalService.getCategoryProperty(categoria.getCategoryId(),"icon")>
81 <#assign url= assetCategoryPropertyLocalService.getCategoryProperty(categoria.getCategoryId(),"url")>
82 <#if icon?has_content && url?has_content>
83 <#assign imageOds="/documents/167993676/170793813/"+ icon.getValue()+".jpg">
84 <#assign urlOds="https://www.diba.cat/web/ods/"+ url.getValue()>
85 <a href="${urlOds}" title="${categoria.getDescription(locale, true)}" target="_blank">
86 <img src=${imageOds} alt="${categoria.getDescription(locale, true)}" class="mb-2">
87 </a>
88 </#if>
89 </#if>
90 </#list>
91 </div>
92 <br />
93
94 </div>
95 </#if>
96 <h2>${Titulo.getData()}</h2>
97
98 <#-- AddToAny Button BEGIN-->
99 <div class="row">
100 <div class="col-12">
101 <div id="socialShare" class="btn-group share-group pull-right">
102 <a data-toggle="dropdown" class="btn btn-default">
103 <img src="/o/DibaMenuVertical-theme/images/recursos/share.png" class="no-lazy" alt="Comparteix" style="margin:0;width:16px"/>
104 </a>
105 <button href="#" data-toggle="dropdown" class="btn btn-default dropdown-toggle">
106 <span class="caret" style="margin:0;"></span>
107 </button>
108 <div class="a2a_kit a2a_kit_size_32 a2a_default_style dropdown-menu dropdown-menu-right" data-a2a-url="${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}" data-a2a-title="${htmlUtil.escape(.vars["reserved-article-title"].data)}">
109 <a class="a2a_button_facebook"></a>
110 <a class="a2a_button_x"></a>
111 <a class="a2a_button_whatsapp"></a>
112 <a class="a2a_button_linkedin"></a>
113 </div>
114 <script>
115 var a2a_config = a2a_config || {};
116 a2a_config.locale = "es";
117 </script>
118 <script async src="https://static.addtoany.com/menu/page.js"></script>
119 <script data-senna-track="temporary">
120 Liferay.on("beforeNavigate", function(event) { location.href=event.path; });
121 </script>
122 <style>
123 .a2a_svg, .a2a_count { border-radius: 16px !important; }
124 .a2a_kit.show {display:inline-flex}
125 </style>
126 </div>
127 </div>
128 </div>
129 <#-- AddToAny Button END -->
130 <#assign descripcio=" ">
131 <#if Entradilla?? && Entradilla.getData()?has_content>
132 <#assign descripcio=htmlUtil.escape(htmlUtil.stripHtml(stringUtil.trim(Entradilla.getData())))>
133 </#if>
134 <meta property="og:title" content="${htmlUtil.escape(Titulo.getData())}" />
135 <meta property="og:description" content="${descripcio}" />
136 <meta name="twitter:title" content="${htmlUtil.escape(Titulo.getData())}" />
137 <meta name="twitter:description" content="${descripcio}" />
138 <#assign metaImgs=false>
139 <#if ImagenPortada?? && ImagenPortada.getData()?has_content>
140 <#assign metaImgs=true>
141 <meta property="og:image" content="https://www.diba.cat${ImagenPortada.getData()}" />
142 <meta name="twitter:image" content="https://www.diba.cat${ImagenPortada.getData()}" />
143 <meta name="twitter:card" content="summary_large_image" />
144 </#if>
145
146 ${Entradilla.getData()}
147 ${Cuerpo.getData()}
148
149
150 <div id="galeriaPremsa">
151
152 <#list ListaImagenesFieldSet.ImagenFieldSet.getSiblings() as imagen>
153
154 <#assign imgAltaURL= imagen.AltaResolucionFieldSet.AltaResolucion.getData()!"">
155 <#if imagen.AltaResolucionFieldSet.urlExterna2?? && (!imgAltaURL?has_content || imgAltaURL?length ==0)>
156 <#assign imgAltaURL= imagen.AltaResolucionFieldSet.urlExterna2.getData()>
157 </#if>
158 <#assign imgBajaURL= imagen.BajaResolucionFieldSet.BajaResolucion.getData()!"">
159 <#if !imgBajaURL?has_content || imgBajaURL?length ==0>
160 <#assign imgBajaURL= imagen.BajaResolucionFieldSet.urlExterna3.getData()>
161 </#if>
162
163 <#assign titol="">
164 <#assign dlFileEntryId=-1>
165 <#if imagen.BajaResolucionFieldSet.BajaResolucion.getData()?has_content && imagen.BajaResolucionFieldSet.BajaResolucion.getData()?length gt 0>
166 <#assign jsonImatge= stringUtil.trim(imagen.BajaResolucionFieldSet.BajaResolucion.get("data"))>
167 <#if jsonImatge?has_content && jsonImatge?has_content && stringUtil.startsWith(jsonImatge,"{")>
168 <#assign dlFileEntryId= jsonFactoryUtil.createJSONObject( jsonImatge).getLong("fileEntryId")>
169 <#if dlFileEntryId == 0>
170 <#assign dlFileEntryId= jsonFactoryUtil.createJSONObject( jsonImatge).getLong("classPK")>
171 </#if>
172 <#attempt>
173 <#assign imagenIGImage= DLFileEntryUtil.fetchDLFileEntry(dlFileEntryId)!"">
174 <#recover>
175 <#assign imagenIGImage= "">
176 </#recover>
177 <#if imagenIGImage?has_content && imagenIGImage.getDescription()?has_content>
178 <#assign titol= htmlUtil.escape(imagenIGImage.getDescription())>
179 </#if>
180 </#if>
181 </#if>
182
183
184
185 <#if imgAltaURL?has_content>
186 <#if !metaImgs>
187 <#assign metaImgs=true>
188 <meta property="og:image" content="https://www.diba.cat${imgAltaURL}" />
189 <meta property="twitter:image" content="https://www.diba.cat${imgAltaURL}" />
190 <meta name="twitter:card" content="summary_large_image" />
191 </#if>
192 <a href="${imgAltaURL}" title="${titol}">
193 <#else> <#if !metaImgs>
194 <#assign metaImgs=true>
195 <meta property="og:image" content="https://www.diba.cat${imgBajaURL}" />
196 <meta property="twitter:image" content="https://www.diba.cat${imgBajaURL}" />
197 <meta name="twitter:card" content="summary_large_image" />
198 </#if>
199 <a href="${imgBajaURL}" title="${titol}">
200 </#if>
201 <img <#if dlFileEntryId gt 0> data-fileentryid="${dlFileEntryId}" </#if> src="${imgBajaURL}" style="width:120px" alt="${titol}" title="${titol}" data-toggle="tooltip" data-placement="top" data-html="true" />
202 </a>
203
204
205 </#list>
206 <#--
207 <div class="nextControl"><i class="fa-solid fa-chevron-right text-white fa-xl"></i></div>
208 <div class="prevControl"><i class="fa-solid fa-chevron-left text-white fa-xl"></i></div>
209 -->
210 <script type="text/javascript">
211 AUI().ready("aui-image-viewer", function(A) {
212 var galeriaImatges= new A.ImageViewer({
213 links: "#galeriaPremsa a",
214 caption: "",
215 captionFromTitle: true,
216 preloadAllImages: true,
217 //controlNext: A.one('div.nextControl'),
218 //controlPrevious: A.one('div.prevControl'),
219 infoTemplate: '<@liferay.language key="image"/> {current} <@liferay.language key="of"/> {total}',
220 intervalTime: 2,
221 zIndex: 1
222 });
223
224 galeriaImatges.TPL_CLOSE = galeriaImatges.TPL_CLOSE.replace(/<\s*span[^>]*>(.*?)<\s*\/\s*span>/,
225 Liferay.Util.getLexiconIconTpl('times', 'icon-monospaced text-white') );
226
227 var TPL_PLAYER_PAUSE = '<span>' + Liferay.Util.getLexiconIconTpl('pause', 'glyphicon') + '</span>';
228 var TPL_PLAYER_PLAY = '<span>' + Liferay.Util.getLexiconIconTpl('play', 'glyphicon') + '</span>';
229
230 galeriaImatges.TPL_PLAYER = TPL_PLAYER_PLAY;
231
232 galeriaImatges._syncPlaying = function () {
233 if (this.get('playing')) {
234 this._player.setHTML(TPL_PLAYER_PAUSE);
235 }
236 else {
237 this._player.setHTML(TPL_PLAYER_PLAY);
238 }
239 };
240 galeriaImatges.render();
241
242 $(function () {
243 $('#galeriaPremsa img[data-toggle="tooltip"]').tooltip();
244 });
245 });
246 </script>
247
248 </div>
249
250
251 <#if Documento?? && (Documento.getData()?has_content || Documento.urlExterna.getData()?has_content)>
252 <div id="documentsAdjunts">
253 <h4>Documents adjunts</h4>
254
255 <ul>
256 <#list Documento.getSiblings() as doc>
257 <#if doc.getData()?has_content && doc.getData()?length gt 0>
258
259 <#assign splitName= stringUtil.split(doc.getData(),"/")>
260 <#assign ultimo= splitName?size>
261 <#if splitName?size lt 6>
262 <#--LR 6.0 SP1-->
263 <#assign ultimo= ultimo-1>
264 <#else> <#--LR 6.1-->
265 <#assign ultimo= ultimo-2>
266 </#if>
267 <#if splitName?size gt 2>
268
269 <#assign docgroupid= getterUtil.getLong( splitName[2])>
270 <#assign docfolderid= getterUtil.getLong( splitName[3])>
271 <#assign docnombre= staticUtil['com.liferay.portal.kernel.util.HttpComponentsUtil'].decodeURL( splitName[ultimo])>
272
273
274 <li><a href="${doc.getData()}">${staticUtil['com.liferay.portal.kernel.util.HttpComponentsUtil'].decodeURL(splitName[ultimo])}</a></li>
275
276 </#if>
277 <#elseif doc.urlExterna.getData()?has_content && doc.urlExterna.getData()?length gt 0 >
278 <li><a href="${doc.urlExterna.getData()}">${doc.urlExterna.getData()}</a></li>
279 </#if>
280
281 </#list>
282 </ul>
283 </div>
284 </#if>
285
286 <p class="text-right"><a href="${listadoURL}"><< Tornar al llistat de notes de premsa</a></p>
287
288 <p>Desitgeu rebre les notes de premsa a la vostra adreça electrònica?<a href="/web/sala-de-premsa/${paginaboletin}/-/butlleti/suscripcio"> Subscriviu-vos-hi</a></p>
289
290 </div>
Cedemos las imágenes (vídeo y fotografías) a los medios de comunicación que quieran hacer uso de ellas, siempre y cuando se cite la fuente y exclusivamente para contextualizar esta noticia.
Tu privacidad es nuestra prioridad
Para proteger tu intimidad, antes de continuar queremos asegurarnos que sabes que, tanto nosotros como nuestros colaboradores, utilizamos algunas “cookies” en la web para facilitarte el uso:
- Propias y de terceros con fines estadísticos, con las que no se recoge información de los usuarios ni se registran las direcciones IP de acceso.
- Propias y de terceros para garantizar el funcionamiento básico, como la sesión de usuario, y aspectos de personalización, como el idioma de nuestras páginas.
Guardamos la aceptación de cookies durante 30 días para mejorar la experiencia de navegación. Recuerda que puedes eliminar las cookies de tu navegador. - De terceros para mostrarte información de nuestras redes sociales, como Facebook, X, YouTube, etc. Al acceder a estos sitios web podrás decidir si aceptas o no sus políticas de privacidad y de cookies.