Fehler bei der Verarbeitung der Vorlage.
Can't convert this string to number: "" The blamed expression: ==> fileEntryJson.getString("groupId")?number [in template "1369164#1369202#1381217" at line 212, column 168] ---- FTL stack trace ("~" means nesting-related): - Failed at: fileEntry = dlAppLocalServiceUtil.get... [in template "1369164#1369202#1381217" at line 212, column 73] ----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
3<#-- <#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.manager.AssetLinkManager")> -->
4<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.link.service.AssetLinkLocalService") />
5<#assign assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService")>
6<#assign
7 jsonFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]
8 dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
9 dlUrlHelperUtil = serviceLocator.findService('com.liferay.document.library.kernel.util.DLUtil')
10 templateFunctionsHelperLocalService = serviceLocator.findService('net.bizkaia.iybiscuc.service.TemplateFunctionsHelperLocalService')
11/>
12
13<#-- VARIABLES -->
14
15<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].getData()) />
16<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
17<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) />
18<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() />
19<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
20
21<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
22<#assign themeDisplay = serviceContext.getThemeDisplay() />
23
24<#assign vocabularyCategories = themeDisplay.getThemeSetting("vocabulary-id") >
25<#assign eventsStructureId = themeDisplay.getThemeSetting("structure-event-id") >
26<#assign sliderStructureId = themeDisplay.getThemeSetting("structure-slider-id") >
27
28<#-- TEMPLATE -->
29
30<div class="turi-home-media-container">
31 <#assign home_page_urls = ["/", "/en", "/es","/eu","/fr","/fr/accueil","/en/home","/es/inicio","/eu/hasiera", "/web/guest", "/web/guest/"] />
32 <#assign current_url = htmlUtil.escape(themeDisplay.getURLCurrent()) />
33 <#assign is_home_page = home_page_urls?seq_contains(current_url) />
34 <#if is_home_page>
35 <div class="iytu_redes_sociales_top">
36 <#assign
37 languageIdRST = themeDisplay.getLanguageId()
38 templateNameRST = 'Iytu - Redes Sociales Footer'
39 structureName = 'Iytu - Redes Sociales Footer'
40 companyIdRST = templateFunctionsHelperLocalService.getCompanyId('Turismo')
41 groupIdGlobalRST = templateFunctionsHelperLocalService.getGroupId(companyIdRST, 'global')
42 groupIdRST = templateFunctionsHelperLocalService.getGroupId(companyIdRST, 'guest')
43 templateKeyRST = templateFunctionsHelperLocalService.getDDMTemplateKey(groupIdGlobalRST, templateNameRST)
44 structureIdRST = templateFunctionsHelperLocalService.getDDMStructureId(groupIdGlobalRST, structureName)
45 structureKeyRST = templateFunctionsHelperLocalService.getDDMStructureKey(groupIdGlobalRST, structureName)
46 currentArticleTitleRST = journalArticleLocalService.getArticleByUrlTitle(groupIdRST, 'iytu-redes-sociales')
47 currentArticleTitleIdRST = currentArticleTitleRST.articleId
48 />
49 <#assign
50 aaaaa = journalArticleLocalService.getArticleDisplay(groupIdRST, currentArticleTitleIdRST, templateKeyRST, "view", languageIdRST, themeDisplay)
51 />
52 ${aaaaa.getContent()}
53 </div>
54 </#if>
55 <#if .vars['Tipo_de_Cabecera'].getData()?string == 'H'>
56 <#if .vars['cssFiles']?? && .vars['cssFiles'].getSiblings()?has_content>
57 <#list .vars['cssFiles'].getSiblings() as currentCssFile>
58 <#if currentCssFile.getData()?length != 0>
59 <link rel="stylesheet" type="text/css" href="${currentCssFile.getData()}">
60 </#if>
61 </#list>
62 </#if>
63
64 <div class="turi-home-media">
65 ${.vars['codigoHTML'].getData()}
66 </div>
67
68 <#if .vars['jsFiles']?? && .vars['jsFiles'].getSiblings()?has_content>
69 <#list .vars['jsFiles'].getSiblings() as currentJsFile>
70 <#if currentJsFile.getData()?length != 0>
71 <link rel="script" href="${currentJsFile.getData()}"/>
72 </#if>
73 </#list>
74 </#if>
75 <#elseif .vars['Tipo_de_Cabecera'].getData()?string == 'V'>
76 <#if .vars['videoFile']??>
77 <div class="turi-home-media turi-video">
78 <#assign existePoster = validator.isNotNull(videoPoster) && validator.isNotNull(videoPoster.getData()) />
79 <video class="lg-video-object lg-html5" id="video" ${existePoster?string('poster="${videoPoster.getData()}"', '')} playsinline preload="none">
80
81 <source src="${.vars['videoFile'].getData()}" type="video/mp4">
82 <@liferay.language key="iytu.cabecera-principal.htm5videoError"/>
83 </video>
84 <div class="video-controls">
85 <button type="button" id="play-pause" class="play button-play-pause"><span class='iytuicon icon-play'></span><span class='sr-only'><@liferay.language key="iytu.cabecera-principal.video.controls.play"/> </span></button>
86 <button type="button" id="mute" class="unmute button-mute"><span class='iytuicon icon-volumen'></span><span class='sr-only'><@liferay.language key="iytu.cabecera-principal.video.controls.mute"/> </span></button>
87 </div>
88 </div>
89 </#if>
90 <#elseif .vars['Tipo_de_Cabecera'].getData()?string == 'S'>
91 <#assign now = .now?long?c />
92 <div class="slider-video" id="HugeSlider${now}">
93 <div class="slider-container">
94 <ul class="slider">
95 <#list currentArticleRelatedLinks as related_entry>
96 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
97 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
98 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
99 <#assign relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) />
100 <#assign categoryName = "">
101 <#assign categoryColor = "">
102 <#if relatedAssetEntry.getCategories()?has_content>
103 <#list relatedAssetEntry.getCategories() as category>
104 <#if category.getVocabularyId()?string == vocabularyCategories>
105 <#assign categoryName = category.getTitle(locale)>
106 <#assign categoryColor = assetCategoryPropertyLocalService.getCategoryProperty(category.getCategoryId(),"color")>
107 </#if>
108 </#list>
109 </#if>
110 <#assign docXml = saxReaderUtil.read(relatedArticle.getContentByLocale(locale)) />
111
112 <#if relatedArticle.DDMStructureKey == eventsStructureId>
113 <#-- <#assign titulo = docXml.valueOf("//dynamic-element[@name='titulo']/dynamic-content/text()") /> -->
114 <#assign localizacion = docXml.valueOf("//dynamic-element[@name='localizacion']/dynamic-content/text()") />
115
116 <#assign object1 = docXml.valueOf("//dynamic-element[@name='imagenFondo']/dynamic-content/text()") />
117 <#if !stringUtil.equalsIgnoreCase("", object1) >
118 <#assign
119 fileEntryJson = jsonFactoryUtil.createJSONObject(object1)
120 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
121 imagenFondo = dlUrlHelperUtil.getPreviewURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
122 />
123 </#if>
124
125 <#assign fechaInicio = docXml.valueOf("//dynamic-element[@name='fechaInicio']/dynamic-content/text()") />
126 <#assign fechaFin = docXml.valueOf("//dynamic-element[@name='fechaFin']/dynamic-content/text()") />
127 <#assign 'fechaInicio_Data' = getterUtil.getLong(fechaInicio)>
128
129 <#assign date = []>
130 <#assign date_Data = getterUtil.getLong(fechaInicio)>
131 <#assign date_DateObj = dateUtil.newDate(date_Data)>
132 <#assign date = date + [ '${dateUtil.getDate(date_DateObj, "d", locale)}' ] >
133 <#assign sdfMonth = objectUtil("java.text.SimpleDateFormat", "MMMMM", locale) />
134 <#assign date = date + [ '${sdfMonth.format(date_DateObj)}' ] >
135
136 <#assign date2 = []>
137 <#assign date_Data2 = getterUtil.getLong(fechaFin)>
138 <#assign date_DateObj2 = dateUtil.newDate(date_Data2)>
139 <#assign date2 = date2 + [ '${dateUtil.getDate(date_DateObj2, "d", locale)}' ] >
140 <#assign sdfMonth2 = objectUtil("java.text.SimpleDateFormat", "MMMMM", locale) />
141 <#assign date2 = date2 + [ '${sdfMonth2.format(date_DateObj)}' ] >
142
143 <#assign archivoVideo = docXml.valueOf("//dynamic-element[@name='videoFile']/dynamic-content/text()") />
144
145 <#assign object3 = docXml.valueOf("//dynamic-element[@name='videoPoster']/dynamic-content/text()") />
146 <#if !stringUtil.equalsIgnoreCase("", object3) >
147 <#assign
148 fileEntryJson = jsonFactoryUtil.createJSONObject(object3)
149 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
150 archivoPoster = dlUrlHelperUtil.getPreviewURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
151 />
152 </#if>
153
154 <#if archivoVideo?? && validator.isNotNull(archivoVideo)>
155 <li class="video-slide">
156 <div class="turi-home-media">
157 <#assign existePoster = validator.isNotNull(archivoPoster) && validator.isNotNull(archivoPoster) />
158 <video preload="none" class="lg-video-object lg-html5 videoCabecera" ${existePoster?string('poster="${archivoPoster}"', '')} >
159
160 <source src="${archivoVideo.getData()}" type="video/mp4">
161 <@liferay.language key="iytu.cabecera-principal.htm5videoError"/>
162 </video>
163 <div class="video-controls">
164 <button type="button" class="play button-play-pause"><span class='iytuicon icon-play'></span><span class='sr-only'><@liferay.language key="iytu.cabecera-principal.video.controls.play"/> </span></button>
165 <button type="button" class="unmute button-mute"><span class='iytuicon icon-volumen'></span><span class='sr-only'><@liferay.language key="iytu.cabecera-principal.video.controls.mute"/> </span></button>
166 </div>
167 </div>
168 </li>
169 <#else>
170
171 <li class="foto-slide">
172 <div class="imagen_fondo_slider" style="background-image:url('${imagenFondo}');"></div>
173 <div class="bipo_overlay"></div>
174 <div class="slider-info">
175 <div class="slider-info-inner">
176 <#if locale != "en_GB" && (categoryName == "Family Friendly" || categoryName == "Basque") >
177 <p class="categoria bgcolor" lang="en">${categoryName}</p>
178 <#else>
179 <p class="categoria bgcolor">${categoryName}</p>
180 </#if>
181 <h2>${relatedArticle.getTitle(locale)}</h2>
182 <p><a class="enlace" href="/${locale.getLanguage()}/-/${relatedAssetEntry.getAssetRenderer().getUrlTitle()}"><@liferay.language key="iytu-buendia.more-info" /></a></p>
183 <ul class="evento-datos">
184 <li><span class="iytuicon icon-calendar"></span>${languageUtil.format(locale, "dateFormatList", date)?lower_case} · ${languageUtil.format(locale, "dateFormatList", date2)?lower_case}</li>
185 <li><span class="iytuicon icon-location"></span>${localizacion}</li>
186 </ul>
187 </div>
188 </div>
189 </li>
190 </#if>
191
192 <#elseif relatedArticle.DDMStructureKey == sliderStructureId>
193 <#assign textoIntroductorio = docXml.valueOf("//dynamic-element[@name='textoIntroductorio']/dynamic-content/text()") />
194
195 <#assign object4 = docXml.valueOf("//dynamic-element[@name='imagenFondo']/dynamic-content/text()") />
196 <#if !stringUtil.equalsIgnoreCase("", object4) >
197 <#assign
198 fileEntryJson = jsonFactoryUtil.createJSONObject(object4)
199 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
200 imagenFondo = dlUrlHelperUtil.getPreviewURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
201 />
202 </#if>
203
204 <#assign enlace = docXml.valueOf("//dynamic-element[@name='enlace']/dynamic-content/text()") />
205
206 <#assign archivoVideo = docXml.valueOf("//dynamic-element[@name='videoFile']/dynamic-content/text()") />
207
208 <#assign object6 = docXml.valueOf("//dynamic-element[@name='videoPoster']/dynamic-content/text()") />
209 <#if !stringUtil.equalsIgnoreCase("", object6) >
210 <#assign
211 fileEntryJson = jsonFactoryUtil.createJSONObject(object6)
212 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
213 archivoPoster = dlUrlHelperUtil.getPreviewURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
214 />
215 </#if>
216
217 <#if archivoVideo?? && validator.isNotNull(archivoVideo)>
218 <li class="video-slide">
219 <div class="turi-home-media">
220 <#assign existePoster = validator.isNotNull(archivoPoster) && validator.isNotNull(archivoPoster) />
221 <video class="lg-video-object lg-html5 videoCabecera" ${existePoster?string('poster="${archivoPoster}"', '')} >
222
223 <source src="${archivoVideo}" type="video/mp4">
224 <@liferay.language key="iytu.cabecera-principal.htm5videoError"/>
225 </video>
226 <div class="video-controls">
227 <button type="button" class="play button-play-pause"><span class='iytuicon icon-play'></span><span class='sr-only'><@liferay.language key="iytu.cabecera-principal.video.controls.play"/> </span></button>
228 <button type="button" class="unmute button-mute"><span class='iytuicon icon-volumen'></span><span class='sr-only'><@liferay.language key="iytu.cabecera-principal.video.controls.mute"/> </span></button>
229 </div>
230 </div>
231 </li>
232 <#else>
233 <li class="foto-slide">
234 <div class="imagen_fondo_slider" style="background-image:url('${imagenFondo}');"></div>
235 <div class="bipo_overlay"></div>
236 <div class="slider-info">
237 <div class="slider-info-inner">
238 <#if locale != "en_GB" && (categoryName == "Family Friendly" || categoryName == "Basque") >
239 <p class="categoria bgcolor" lang="en">${categoryName}</p>
240 <#else>
241 <p class="categoria bgcolor">${categoryName}</p>
242 </#if>
243 <h2>${relatedArticle.getTitle(locale)}</h2>
244 <p class="texto">${textoIntroductorio} </p>
245
246 <p><a href="${enlace}" class="enlace"><@liferay.language key="iytu.cabecera-principal.slider.descubrir"/> <span class="sr-only">${relatedArticle.getTitle(locale)}</span></a></p>
247 </div>
248 </div>
249 </li>
250 </#if>
251 </#if>
252 </#list>
253 </ul>
254 </div>
255 </div>
256 <script>
257 $(document).ready(function() {
258 function isIE() {
259 return (window.navigator.userAgent.match(/MSIE|Trident/) !== null);
260 }
261 if(isIE()){
262 var slideMarginValue = 1000;
263 }else{
264 var slideMarginValue = 10;
265 }
266 $("#HugeSlider${now} .slider").lightSlider({
267 item: 1,
268 loop: false,
269 keyPress: true,
270 controls:true,
271 pager: false,
272 slideMargin: slideMarginValue,
273 paginationLabel: ' ',
274 enableDrag: true,
275 adaptiveHeight: true,
276 prevHtml: '<span class="sr-only"><@liferay.language key="previous" /></span>',
277 nextHtml: '<span class="sr-only"><@liferay.language key="next" /></span>',
278 responsive : [
279 {
280 breakpoint:993,
281 settings: {
282 /*pager: true*/
283 }
284 }
285 ]
286 });
287 });
288 </script>
289 <#elseif .vars['Tipo_de_Cabecera'].getData()?string == 'I'>
290 <#if .vars['imagenesFile']?? && .vars['imagenesFile'].getSiblings()?has_content>
291 <#assign imagenes = .vars['imagenesFile'].getSiblings()>
292 <#if imagenes[0].getData()?length != 0>
293 <div class="turi-home-media">
294 <#if url?? && !stringUtil.equalsIgnoreCase('', url.getData()) >
295 <a href="${url.getData()}">
296 </#if>
297 <#if imagenes[0].getAttribute("alt")??>
298 <#assign altImage = imagenes[0].getAttribute("alt") >
299 <#else>
300 <#assign altImage = "" >
301 </#if>
302
303 <img class="turi-home-media-fotofija" src="${imagenes[0].getData()}" alt="${altImage}">
304
305 <#if url?? && !stringUtil.equalsIgnoreCase('', url.getData()) >
306 </a>
307 </#if>
308
309 </div>
310 <script language="javascript">
311 var images = [];
312 <#list imagenes as currentImage>
313 images.push('${currentImage.getData()}');
314 </#list>
315 $('.turi-home-media-fotofija').attr('src',images[Math.floor(Math.random() * images.length)]);
316 </script>
317 </#if>
318 </#if>
319 </#if>
320 <#if getterUtil.getBoolean(.vars['Flecha_para_bajar'].getData())>
321 <div class="slidebs-info"></div>
322 <div class="turi-home-media-flecha">
323 <p><a href="#breadcrumb" id="flecha-arriba"><span class="iytuicon icon-skip-Video"></span> <span class="sr-only"><@liferay.language key="iytu.irContenido"/></span></a></p>
324 </div>
325 </#if>
326</div>
327
328<#-- FUNCTIONS -->
329<#function getJournalArticleContent groupId urlTitle >
330 <#assign contentArticle = journalArticleLocalService.fetchArticleByUrlTitle(groupId, urlTitle) >
331
332 <#if validator.isNotNull(contentArticle)>
333 <#return saxReaderUtil.read(contentArticle.getContentByLocale(locale)).getStringValue()!'' />
334 </#if>
335
336 <#return '' />
337</#function>
Basque, erro eta harro
Paregabeak gara mundu osoan, antzinako hizkuntza eta ohituradunak
Lurrari eta itsasoari hertsiki lotuta gaude. Biek ala biek gure izaera jatorra eta bereizgarria osatu dute.
Gure identitatearen isla dira beraz arbasoen ohiturak eta tradizioak, gure gastronomia ospetsua, euskal kirolen berezitasuna, baita euskal musika eta dantzen erritmoak ere.
Esan gabe doa gure altxorrik kuttunena: euskara. Gure hizkuntza are ederragoa da bertsoetan azaltzen dugunean, beste adierazpenen artean.
Tradizioarekiko atxikimendu hau garai berriekin bat dator, betiko usadioei berrikuntza eta abangoardia erantsiz. Hau guztia gure berezko izaerari uko egin gabe. Aparteko herria, geurea.
