An error occurred while processing the template.
Java method "com.sun.proxy.$Proxy646.getArticleContent(long, String, String, com.liferay.portal.kernel.portlet.PortletRequestModel, com.liferay.portal.kernel.theme.ThemeDisplay)" threw an exception when invoked on com.sun.proxy.$Proxy646 object "com.liferay.journal.service.impl.JournalArticleServiceImpl@7a6794"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: bannerConsultorContent = journalArtic...  [in template "176139#176179#1006591" at line 416, column 5]
----
1<#assign  
2    journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleService") 
3    assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService") 
4    currentArticle = journalArticleService.getArticle(groupId, .vars['reserved-article-id'].data) 
5    categories = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", currentArticle.getResourcePrimKey()) 
6    categoriesString = "" 
7/> 
8 
9<#list categories as category> 
10    <#if category.getVocabularyId() != 178885><#continue></#if> 
11    <#if categoriesString != ""><#assign categoriesString += " · "></#if> 
12    <#assign categoriesString += category.getTitle(locale)> 
13</#list> 
14 
15<#assign currentURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()> 
16 
17<@liferay_util["html-top"]> 
18    <meta name="twitter:card" content="summary_large_image" /> 
19    <meta name="twitter:description" content="${summaryNew.getData()?replace('<[^>]+>','','r')}" /> 
20    <meta name="twitter:image" content="https://catalonia.com${imageFirstNew.getData()}" /> 
21    <meta name="twitter:title" content="${titleNew.getData()?replace('<[^>]+>','','r')}" /> 
22</@> 
23 
24<section id="cabecera" class="cabecera_2"> 
25    <#if (imageFirstNew.getData())?? && imageFirstNew.getData() != ""> 
26        <img class="background_image" alt="${imageFirstNew.getAttribute("alt")}" data-fileentryid="${imageFirstNew.getAttribute("fileEntryId")}" src="${imageFirstNew.getData()}" /> 
27    <#else> 
28        <img class="background_image" src="/documents/176177/179111/news-generic.jpg" alt=""> 
29    </#if> 
30    <div class="background_degra"></div> 
31    <div class="content_head"> 
32    <div class="titular"> 
33        <#if (titleNew.getData())?? && titleNew.getData() != ""> 
34            <h1 class="medium_title">${titleNew.getData()}</h1> 
35        </#if> 
36        <div class="add_info"> 
37            <#if categories?has_content> 
38                <p class="category"> 
39                    <span>${categoriesString}</span> 
40                </p> 
41            </#if> 
42            <#if traslatedUrl?? && traslatedUrl.getData() != "" && traslatedUrl.getSiblings()?has_content> 
43                <div class="languages"> 
44                    <img src="/documents/176177/179195/idioma.png/f401554d-c635-40ae-c73a-c6cbb47d8d89?t=1737644561098" alt=""> 
45                    <p>Content available in:  
46                    <#assign isFirstLanguage = true> 
47                    <#list traslatedUrl.getSiblings() as cur_traslatedUrl> 
48                		<#if (cur_traslatedUrl.getData())??> 
49                            <#if !isFirstLanguage> / </#if> 
50                            <a href="${cur_traslatedUrl.getData()}?id=${currentArticle.getArticleId()}">${cur_traslatedUrl.traslatedLanguage.getData()}</a> 
51                            <#assign isFirstLanguage = false> 
52                        </#if> 
53                    </#list> 
54                </div> 
55            </#if> 
56        </div> 
57    </div> 
58    <#assign dateNew_Data = getterUtil.getString(dateNew.getData())> 
59        <#if validator.isNotNull(dateNew_Data)> 
60            <#assign dateNew_DateObj = dateUtil.parseDate("yyyy-MM-dd", dateNew_Data, locale)> 
61            <p class="date">${dateUtil.getDate(dateNew_DateObj, "dd MMM yyyy", locale)}</p> 
62        </#if> 
63        <#if (summaryNew.getData())?? && summaryNew.getData() != ""> 
64            <div class="summary"> 
65                ${summaryNew.getData()} 
66            </div> 
67        </#if> 
68        <#if (textLinkNew.urlLinkNew.getData())?? && textLinkNew.urlLinkNew.getData() != "" && (textLinkNew.getData())?? && textLinkNew.getData() != ""> 
69            <a href="${textLinkNew.urlLinkNew.getData()}" class="btn_red" <#if !textLinkNew.urlLinkNew.getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${textLinkNew.getData()}</a> 
70        </#if> 
71        <div class="separator"></div> 
72    </div> 
73</section> 
74 
75<#if (videoNew.getData())?? && videoNew.getData() != ""> 
76    <section class="part_video container-fluid"> 
77        <div class="video"> 
78            ${videoNew.getData()} 
79        </div> 
80        <div class="background"></div> 
81    </section> 
82</#if> 
83 
84<#if (contentNewOne.getData())?? && contentNewOne.getData() != "" || (titleCita.getData())?? && titleCita.getData() != "" || (contentNewTwo.getData())?? && contentNewTwo.getData() != ""> 
85    <section class="content_new container"> 
86        <#if (videoNew.getData())?? && videoNew.getData() != ""> 
87            <div class="separator"></div> 
88        </#if> 
89        <div class="content_text"> 
90            <#if (contentNewOne.getData())?? && contentNewOne.getData() != ""> 
91                ${contentNewOne.getData()} 
92            </#if> 
93            <#if (titleCita.getData())?? && titleCita.getData() != "" || (titleCita.descriptionCita.getData())?? && titleCita.descriptionCita.getData() != ""> 
94                <div class="quote_ca"> 
95                    <div class="text"> 
96                        <#if (titleCita.getData())?? && titleCita.getData() != ""> 
97                            <p class="title">“${titleCita.getData()}” </p> 
98                        </#if> 
99                        <#if (titleCita.descriptionCita.getData())?? && titleCita.descriptionCita.getData() != ""> 
100                            <p class="description">${titleCita.descriptionCita.getData()}</p> 
101                        </#if> 
102                    </div> 
103                    <#if (titleCita.imageCita.getData())?? && titleCita.imageCita.getData() != ""> 
104                        <div class="image"> 
105                            <img alt="${titleCita.imageCita.getAttribute("alt")}" data-fileentryid="${titleCita.imageCita.getAttribute("fileEntryId")}" src="${titleCita.imageCita.getData()}" /> 
106                        </div> 
107                    </#if> 
108                    <div class="share_rrss"> 
109                        <p class="subtitle">Share quote:</p> 
110                        <ul class="list_rrss"> 
111                            <li> 
112                                <a title="Open new window" target="_blank" href='http://twitter.com/share?text="${titleCita.getData()}"%0a${titleCita.descriptionCita.getData()?replace('<[^>]+>','','r')}&url=%0a${currentURL}'> 
113                                    <span class="sr-only">X</span> 
114                                    <i class="fab fa-x-twitter"></i> 
115                                </a> 
116                            </li> 
117                            <li> 
118                                <a title="Open new window" target="_blank" href='https://www.linkedin.com/sharing/share-offsite/?url=${currentURL}&title="${titleCita.getData()}"%0a${titleCita.descriptionCita.getData()?replace('<[^>]+>','','r')}'> 
119                                    <span class="sr-only">LinkedIn</span> 
120                                    <i class="fab fa-linkedin-in"></i> 
121                                </a> 
122                            </li> 
123                            <li> 
124                                <a title="Open new window" target="_blank" href='https://www.facebook.com/sharer/sharer.php?u=${currentURL}&quote="${titleCita.getData()}"%0a${titleCita.descriptionCita.getData()?replace('<[^>]+>','','r')}'> 
125                                    <span class="sr-only">Facebook</span> 
126                                    <i class="fab fa-facebook"></i> 
127                                </a> 
128                            </li> 
129                            <li> 
130                                <a title="Open new window" target="_blank" href='https://api.whatsapp.com/send?text="${titleCita.getData()}"%0a${titleCita.descriptionCita.getData()?replace('<[^>]+>','','r')}%0a${currentURL}'> 
131                                    <span class="sr-only">Whatsapp</span> 
132                                    <i class="fab fa-whatsapp-square"></i> 
133                                </a> 
134                            </li> 
135                        </ul> 
136                    </div> 
137                </div> 
138            </#if> 
139            <#if (contentNewTwo.getData())?? && contentNewTwo.getData() != ""> 
140                ${contentNewTwo.getData()} 
141            </#if> 
142        </div> 
143    </section> 
144</#if> 
145 
146<div class="clearfix"></div> 
147 
148<#if titleSectionCards?exists> 
149    <#if (titleSectionCards.titleSliderCard.getData())?? && titleSectionCards.titleSliderCard.getData() != ""> 
150        <section class="type_card_21 container-fluid plans-container--slider"> 
151            <!-- Titular sección --> 
152            <div class="content_type_4"> 
153                <div class="line_red"></div> 
154                <#if (titleSectionCards.getData())?? && titleSectionCards.getData() != ""> 
155                    <div class="titular"> 
156                        <h2 class="big_title">${titleSectionCards.getData()}</h2> 
157                    </div> 
158                </#if> 
159            </div> 
160 
161            <!--Carousel--> 
162            <div class="carrusel_card_big"> 
163                <#if (titleSectionCards.titleSliderCard.getSiblings()?size > 1)> 
164                    <button type="button" class="left-arrow"> 
165                        <span class="fas fa-arrow-circle-left" aria-hidden="true"></span> 
166                        <span class="sr-only">Previous</span> 
167                    </button> 
168                    <button type="button" class="right-arrow"> 
169                        <span class="fas fa-arrow-circle-right" aria-hidden="true"></span> 
170                        <span class="sr-only">Next</span> 
171                    </button> 
172                </#if> 
173 
174                <#if titleSectionCards.titleSliderCard.getSiblings()?has_content> 
175                    <ul class="list_cards"> 
176                        <#list titleSectionCards.titleSliderCard.getSiblings() as cur_titleSectionCards_titleSliderCard> 
177                            <li class="item"> 
178                                <div class="content_card"> 
179                                    <#if (cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getData())?? && cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getData() != ""> 
180                                        <div class="image"> 
181                                            <img alt="${cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getAttribute("alt")}" src="${cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getData()}" data-fileentryid="${cur_titleSectionCards_titleSliderCard.getChild('imageSliderCard').getAttribute("fileEntryId")}" /> 
182                                        </div> 
183                                    </#if> 
184 
185                                    <div class="content"> 
186                                        <#if (cur_titleSectionCards_titleSliderCard.getData())?? && cur_titleSectionCards_titleSliderCard.getData() != ""> 
187                                            <h3 class="title">${cur_titleSectionCards_titleSliderCard.getData()}</h3>  
188                                        </#if> 
189                                        <#if (cur_titleSectionCards_titleSliderCard.getChild('contentSliderCard').getData())?? && cur_titleSectionCards_titleSliderCard.getChild('contentSliderCard').getData() != ""> 
190                                             <div class="content_text"> 
191                                                ${cur_titleSectionCards_titleSliderCard.getChild('contentSliderCard').getData()}  
192                                            </div> 
193                                        </#if> 
194                                        <#if (cur_titleSectionCards_titleSliderCard.getChild('urlLinkSliderCard').getData())?? && cur_titleSectionCards_titleSliderCard.getChild('urlLinkSliderCard').getData() != "" && (cur_titleSectionCards_titleSliderCard.getChild('textLinkSliderCard').getData())?? && cur_titleSectionCards_titleSliderCard.getChild('textLinkSliderCard').getData() != ""> 
195                                            <a href="${cur_titleSectionCards_titleSliderCard.getChild('urlLinkSliderCard').getData()}" class="btn_all_blue" <#if !cur_titleSectionCards_titleSliderCard.getChild('urlLinkSliderCard').getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${cur_titleSectionCards_titleSliderCard.getChild('textLinkSliderCard').getData()}</a> 
196                                        </#if> 
197                                    </div> 
198                                </div> 
199                            </li> 
200                        </#list> 
201                    </ul> 
202                </#if> 
203            </div> 
204        </section> 
205    </#if> 
206</#if> 
207 
208<#if (titleMoreInfo.LinkMoreInfo.getData())?? && titleMoreInfo.LinkMoreInfo.getData() != ""> 
209    <#if titleMoreInfo.LinkMoreInfo.getSiblings()?has_content> 
210        <section class="second_menu_2 container-fluid"> 
211            <div class="bloque"> 
212                <div class="image"> 
213                    <img src="/documents/176177/263024/003-informacin.png/da79a9cc-dab5-d58c-c0b2-8b7a423fe13a?t=1668690371158" alt=""> 
214                </div> 
215                <div class="text"> 
216                    <#if (titleMoreInfo.getData())??> 
217                        <h2 class="title">${titleMoreInfo.getData()}</h2> 
218                    </#if> 
219                    <ul class="list_links"> 
220                        <#list titleMoreInfo.LinkMoreInfo.getSiblings() as cur_titleMoreInfo_LinkMoreInfo> 
221                            <#if (cur_titleMoreInfo_LinkMoreInfo.getData())??> 
222                                <li class="item"> 
223                                    <a href="${cur_titleMoreInfo_LinkMoreInfo.getChild('UrlMoreInfo').getData()}" <#if !cur_titleMoreInfo_LinkMoreInfo.getChild('UrlMoreInfo').getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> > 
224                                        <#if (cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getData())?? && cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getData() != ""> 
225                                            <img alt="${cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getAttribute("alt")}" data-fileentryid="${cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getAttribute("fileEntryId")}" src="${cur_titleMoreInfo_LinkMoreInfo.getChild('iconMoreInfo').getData()}" /> 
226                                        <#else> 
227                                            <i class="fas fa-globe"></i> 
228                                        </#if> 
229                                        ${cur_titleMoreInfo_LinkMoreInfo.getData()} 
230                                        <#if (cur_titleMoreInfo_LinkMoreInfo.getChild('TextAddMoreInfo').getData())?? && cur_titleMoreInfo_LinkMoreInfo.getChild('TextAddMoreInfo').getData() != "">  
231                                            <span>| ${cur_titleMoreInfo_LinkMoreInfo.getChild('TextAddMoreInfo').getData()}</span> 
232                                        </#if> 
233                                    </a> 
234                                </li> 
235                            </#if> 
236                        </#list> 
237                    </ul> 
238                </div> 
239            </div> 
240        </section> 
241    </#if> 
242</#if> 
243 
244<#if (titleGallery.imageGallery.getData())?? && titleGallery.imageGallery.getData() != ""> 
245    <#if titleGallery.imageGallery.getSiblings()?has_content> 
246        <section class="galery_multimedia container"> 
247            <div class="content_type_4"> 
248                <div class="line_red"></div> 
249                <#if (titleGallery.getData())?? && titleGallery.getData() != ""> 
250                    <div class="titular"> 
251                        <h2 class="big_title">${titleGallery.getData()}<span class="dest_blue">.</span></h2> 
252                    </div> 
253                </#if> 
254 
255                <#if (titleGallery.descriptionGallery.getData())?? && titleGallery.descriptionGallery.getData() != ""> 
256                    <div class="content_text"> 
257                        ${titleGallery.descriptionGallery.getData()} 
258                    </div> 
259                </#if> 
260            </div> 
261            <div class="bloque_galery"> 
262 
263                <div class="detail"> 
264                    <div class="tab-content" id="myGaleryTabContent"> 
265                        <#list titleGallery.imageGallery.getSiblings() as cur_galleryNews> 
266                            <div class="tab-pane fade <#if cur_galleryNews?index == 0>show active</#if>" id="item${cur_galleryNews?index}" role="tabpanel" aria-labelledby="item${cur_galleryNews?index}-tab"> 
267                                <#if !cur_galleryNews.getChild('videoGallery').getData()?? || cur_galleryNews.getChild('videoGallery').getData() == ""> 
268                                    <#if (cur_galleryNews.getData())?? && cur_galleryNews.getData() != ""> 
269                                        <img alt="${cur_galleryNews.getAttribute("alt")}" data-fileentryid="${cur_galleryNews.getAttribute("fileEntryId")}" src="${cur_galleryNews.getData()}" /> 
270                                        <a class="btn btn-monospaced btn-secondary" id="downloadIcon" href="${cur_galleryNews.getData()}" download aria-label="download"> 
271                                                <@clay["icon"] symbol="download" /> 
272                                        </a> 
273                                    </#if> 
274                                </#if> 
275                                ${cur_galleryNews.getChild('videoGallery').getData()} 
276                            </div> 
277                        </#list> 
278                    </div> 
279                </div> 
280 
281                <div class="links"> 
282                    <ul class="nav nav-tabs <#if titleGallery.imageGallery.getSiblings()?size gte 5>more</#if>" id="myGaleryTab" role="tablist"> 
283                        <#list titleGallery.imageGallery.getSiblings() as cur_galleryNews> 
284                            <li class="nav-item"> 
285                                <a class="nav-link <#if cur_galleryNews.getChild('videoGallery').getData()?has_content>video</#if> <#if cur_galleryNews?index == 0>active</#if>" id="item${cur_galleryNews?index}-tab" data-toggle="tab" href="#item${cur_galleryNews?index}" role="tab" aria-controls="item${cur_galleryNews?index}" aria-selected="true" title="${cur_galleryNews.getAttribute("alt")}"> 
286                                    <#if (cur_galleryNews.getData())?? && cur_galleryNews.getData() != ""> 
287                                        <img alt="${cur_galleryNews.getAttribute("alt")}" data-fileentryid="${cur_galleryNews.getAttribute("fileEntryId")}" src="${cur_galleryNews.getData()}" /> 
288                                        <span class="sr-only">${cur_galleryNews.getAttribute("alt")}</span> 
289                                    </#if> 
290                                </a> 
291                            </li> 
292                        </#list> 
293                    </ul> 
294                </div> 
295 
296            </div> 
297        </section> 
298    </#if> 
299</#if> 
300 
301<#if (infoRelated.subtitleRelated.getData())?? && infoRelated.subtitleRelated.getData() != ""> 
302    <#if infoRelated.subtitleRelated.getSiblings()?has_content> 
303        <section class="type_card_5 <#if infoRelated.subtitleRelated.getSiblings()?size == 1>one</#if> container"> 
304            <div class="content_type_4"> 
305                <div class="line_red"></div> 
306                <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
307                    <div class="titular"> 
308                        <h2 class="big_title">${infoRelated.getData()}<span class="dest_blue">.</span></h2> 
309                    </div> 
310                </#if> 
311                <#if (infoRelated.descriptionRelated.getData())?? && infoRelated.descriptionRelated.getData() != ""> 
312                    <div class="content_text"> 
313                        ${infoRelated.descriptionRelated.getData()} 
314                    </div> 
315                </#if> 
316            </div> 
317            <#if infoRelated.subtitleRelated.getSiblings()?has_content> 
318 
319                <#if infoRelated.subtitleRelated.getSiblings()?size == 1> 
320                    <div class="list_item row"> 
321                        <div class="item col-12 col-md-4"> 
322                            <div class="bloque"> 
323                                <#if (infoRelated.subtitleRelated.iconRelated.getData())?? && infoRelated.subtitleRelated.iconRelated.getData() != ""> 
324                                    <img class="icon" alt="${infoRelated.subtitleRelated.iconRelated.getAttribute("alt")}" src="${infoRelated.subtitleRelated.iconRelated.getData()}" data-fileentryid="${infoRelated.subtitleRelated.iconRelated.getAttribute("fileEntryId")}" /> 
325                                </#if> 
326                                <div> 
327                                    <#if (infoRelated.subtitleRelated.getData())?? && infoRelated.subtitleRelated.getData() != ""> 
328                                        <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
329                                            <h3 class="small_title">${infoRelated.subtitleRelated.getData()}</h3> 
330                                        <#else> 
331                                            <h2 class="small_title">${infoRelated.subtitleRelated.getData()}</h2> 
332                                        </#if> 
333                                    </#if> 
334                                    <#if (infoRelated.subtitleRelated.subdescriptionRelated.getData())?? && infoRelated.subtitleRelated.subdescriptionRelated.getData() != ""> 
335                                        <div class="content_text"> 
336                                            ${infoRelated.subtitleRelated.subdescriptionRelated.getData()} 
337                                        </div> 
338                                    </#if> 
339                                    <#if (infoRelated.subtitleRelated.textLinkRelated.getData())?? && infoRelated.subtitleRelated.textLinkRelated.getData() != "" && (infoRelated.subtitleRelated.urlLinkRelated.getData())?? && infoRelated.subtitleRelated.urlLinkRelated.getData() != ""> 
340                                        <a href="${infoRelated.subtitleRelated.urlLinkRelated.getData()}" class="btn_blue" <#if !infoRelated.subtitleRelated.urlLinkRelated.getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${infoRelated.subtitleRelated.textLinkRelated.getData()}</a> 
341                                    </#if> 
342                                </div> 
343                            </div> 
344                        </div> 
345                    </div> 
346 
347                <#elseif infoRelated.subtitleRelated.getSiblings()?size gte 6> 
348                    <ul class="list_item row"> 
349                        <#list infoRelated.subtitleRelated.getSiblings() as cur_infoRelated_subtitleRelated> 
350                            <li class="item col-12 col-md-6 col-lg-3"> 
351                                <div class="bloque"> 
352                                    <#if (cur_infoRelated_subtitleRelated.getChild('iconRelated').getData())?? && cur_infoRelated_subtitleRelated.getChild('iconRelated').getData() != ""> 
353                                        <img class="icon" alt="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getAttribute("alt")}" src="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getData()}" data-fileentryid="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getAttribute("fileEntryId")}" /> 
354                                    </#if> 
355                                    <div> 
356                                        <#if (cur_infoRelated_subtitleRelated.getData())?? && cur_infoRelated_subtitleRelated.getData() != ""> 
357                                            <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
358                                                <h3 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h3> 
359                                            <#else> 
360                                                <h2 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h2> 
361                                            </#if> 
362                                        </#if> 
363                                        <#if (cur_infoRelated_subtitleRelated.subdescriptionRelated.getData())?? && cur_infoRelated_subtitleRelated.subdescriptionRelated.getData() != ""> 
364                                            <div class="content_text"> 
365                                                ${cur_infoRelated_subtitleRelated.subdescriptionRelated.getData()} 
366                                            </div> 
367                                        </#if> 
368                                        <#if (cur_infoRelated_subtitleRelated.textLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.textLinkRelated.getData() != "" && (cur_infoRelated_subtitleRelated.urlLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.urlLinkRelated.getData() != ""> 
369                                            <a href="${cur_infoRelated_subtitleRelated.urlLinkRelated.getData()}" class="btn_blue" <#if !cur_infoRelated_subtitleRelated.urlLinkRelated.getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${cur_infoRelated_subtitleRelated.textLinkRelated.getData()}</a> 
370                                        </#if> 
371                                    </div> 
372                                </div> 
373                            </li> 
374                        </#list> 
375                    </ul> 
376 
377                <#else> 
378                    <ul class="list_item row"> 
379                        <#list infoRelated.subtitleRelated.getSiblings() as cur_infoRelated_subtitleRelated> 
380                            <li class="item col-12 col-md-4"> 
381                                <div class="bloque"> 
382                                    <#if (cur_infoRelated_subtitleRelated.getChild('iconRelated').getData())?? && cur_infoRelated_subtitleRelated.getChild('iconRelated').getData() != ""> 
383                                        <img class="icon" alt="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getAttribute("alt")}" src="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getData()}" data-fileentryid="${cur_infoRelated_subtitleRelated.getChild('iconRelated').getAttribute("fileEntryId")}" /> 
384                                    </#if> 
385                                    <div> 
386                                        <#if (cur_infoRelated_subtitleRelated.getData())?? && cur_infoRelated_subtitleRelated.getData() != ""> 
387                                            <#if (infoRelated.getData())?? && infoRelated.getData() != ""> 
388                                                <h3 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h3> 
389                                            <#else> 
390                                                <h2 class="small_title">${cur_infoRelated_subtitleRelated.getData()}</h2> 
391                                            </#if> 
392                                        </#if> 
393                                        <#if (cur_infoRelated_subtitleRelated.subdescriptionRelated.getData())?? && cur_infoRelated_subtitleRelated.subdescriptionRelated.getData() != ""> 
394                                            <div class="content_text"> 
395                                                ${cur_infoRelated_subtitleRelated.subdescriptionRelated.getData()} 
396                                            </div> 
397                                        </#if> 
398                                        <#if (cur_infoRelated_subtitleRelated.textLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.textLinkRelated.getData() != "" && (cur_infoRelated_subtitleRelated.urlLinkRelated.getData())?? && cur_infoRelated_subtitleRelated.urlLinkRelated.getData() != ""> 
399                                            <a href="${cur_infoRelated_subtitleRelated.urlLinkRelated.getData()}" class="btn_blue" <#if !cur_infoRelated_subtitleRelated.urlLinkRelated.getData()?contains('catalonia.com')> target="_blank" title="Open new window"</#if> >${cur_infoRelated_subtitleRelated.textLinkRelated.getData()}</a> 
400                                        </#if> 
401                                    </div> 
402                                </div> 
403                            </li> 
404                        </#list> 
405                    </ul> 
406                </#if> 
407            </#if> 
408        </section> 
409    </#if> 
410</#if> 
411 
412 
413<#if (bannerConsultor.getData())?? && bannerConsultor.getData() != ""> 
414    <#assign bannerConsultorJSON = jsonFactoryUtil.createJSONObject(bannerConsultor.getData()) 
415     
416    bannerConsultorContent = journalArticleService.getArticleContent(groupId, (bannerConsultorJSON.classPK?number - 2)?c, themeDisplay.getLanguageId(), null, themeDisplay) 
417     
418    /> 
419    ${bannerConsultorContent} 
420</#if> 
421 
422 
423 
424<#if (bannerSector.getData())?? && bannerSector.getData() != "">                                
425    <#assign bannerSectorJSON = jsonFactoryUtil.createJSONObject(bannerSector.getData()) 
426     
427    bannerSectorContent = journalArticleService.getArticleContent(groupId, (bannerSectorJSON.classPK?number - 2)?c, themeDisplay.getLanguageId(), null, themeDisplay) 
428     
429    /> 
430    ${bannerSectorContent} 
431</#if> 
432 
433<script type="text/javascript"> 
434    document.addEventListener('DOMContentLoaded', function () { 
435        const listCards = document.querySelector('.type_card_21 .list_cards'); 
436        const items = document.querySelectorAll('.type_card_21 .list_cards .item'); 
437        const leftArrow = document.querySelector('.left-arrow'); 
438        const rightArrow = document.querySelector('.right-arrow'); 
439 
440        let currentIndex = 0; // Índice del elemento activo 
441 
442        function updateCarousel() { 
443            // Resetear todas las tarjetas 
444            items.forEach((item, index) => { 
445                item.classList.remove('active', 'side'); 
446                item.style.transform = ''; // Reiniciar la transformación 
447            }); 
448 
449            // Asignar clase 'active' al elemento central 
450            const currentItem = items[currentIndex]; 
451            currentItem.classList.add('active'); 
452 
453            // Asignar clase 'side' al elemento anterior (si existe) 
454            if (currentIndex > 0) { 
455                const prevItem = items[currentIndex - 1]; 
456                prevItem.classList.add('side'); 
457
458 
459            // Asignar clase 'side' al siguiente elemento (si existe) 
460            if (currentIndex < items.length - 1) { 
461                const nextItem = items[currentIndex + 1]; 
462                nextItem.classList.add('side'); 
463
464 
465            // Usar requestAnimationFrame para asegurar que los elementos están disponibles y visibles 
466            requestAnimationFrame(() => { 
467                const offset = -currentItem.offsetLeft + (listCards.clientWidth - currentItem.clientWidth) / 2; 
468                listCards.style.transform = 'translateX(' + offset + 'px)'; 
469            }); 
470
471 
472        // Evento para el botón izquierdo 
473        leftArrow.addEventListener('click', function () { 
474            if (currentIndex > 0) { 
475                currentIndex--; 
476                updateCarousel(); 
477
478        }); 
479 
480        // Evento para el botón derecho 
481        rightArrow.addEventListener('click', function () { 
482            if (currentIndex < items.length - 1) { 
483                currentIndex++; 
484                updateCarousel(); 
485
486        }); 
487 
488        // Configuración inicial 
489        updateCarousel(); 
490    }); 
491</script> 

Related News and Success stories.

Subscribe to Catalonia in Business.

Do you want to be up to date with the latest news about Barcelona and Catalonia? Subscribe to our monthly newsletter and get them in your inbox.

Subscribe to Catalonia in Business
Contact with Catalonia Trade & Investment