News
Catalonia Trade & Investment

Discover the latest news from Catalonia Trade & Investment and learn why to invest in Barcelona-Catalonia, southern Europe's hub for business and life.

An error occurred while processing the template.
The following has evaluated to null or missing:
==> imageFirstNewJson.groupId  [in template "176139#176179#209043" at line 63, column 52]

----
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: ${imageFirstNewJson.groupId}  [in template "176139#176179#209043" at line 63, column 50]
----
1<#setting date_format="dd MMM yyyy"> 
2 
3<#assign 
4    journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleService") 
5    assetCategoryServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService") 
6/> 
7 
8<#assign currentPage = "1"> 
9<#if renderRequest.getParameter("cur")?has_content> 
10    <#assign currentPage = renderRequest.getParameter("cur")> 
11</#if> 
12 
13<#if entries?has_content> 
14    <section class="list_news_1 container"> 
15        <ul class="list_cards row"> 
16          <#list entries as curEntry> 
17                <#assign 
18                    journalArticle = journalArticleService.getLatestArticle(curEntry.getClassPK()) 
19                    categories = assetCategoryServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey()) 
20                    categoriesString = "" 
21                 
22                    renderer = curEntry.getAssetRenderer() 
23                    journalArticle = renderer.getArticle() 
24                     
25                    document = saxReaderUtil.read(journalArticle.getContentByLocale(themeDisplay.getLanguageId())) 
26                    rootElement = document.getRootElement() 
27 
28                    imageFirstNew = saxReaderUtil.createXPath("dynamic-element[@name='imageFirstNew']").selectSingleNode(rootElement).getStringValue()?trim 
29                    dateNew = saxReaderUtil.createXPath("dynamic-element[@name='dateNew']").selectSingleNode(rootElement).getStringValue()?trim?datetime("yyyy-MM-dd")?date 
30                    titleNew = saxReaderUtil.createXPath("dynamic-element[@name='titleNew']").selectSingleNode(rootElement).getStringValue()?trim 
31                    summaryNew = saxReaderUtil.createXPath("dynamic-element[@name='summaryNew']").selectSingleNode(rootElement).getStringValue()?trim 
32										textLinkFieldSetNode = saxReaderUtil.createXPath("dynamic-element[@name='textLinkNewFieldSet']").selectSingleNode(rootElement) 
33                    textLinkNew = saxReaderUtil.createXPath("dynamic-element[@name='textLinkNew']").selectSingleNode(textLinkFieldSetNode).selectSingleNode("dynamic-content").getStringValue()?trim                     
34                    linkDetail = curEntry.getAssetRenderer().getURLViewInContext(renderRequest, renderResponse, "") 
35                /> 
36                 
37                <#list categories as category> 
38                    <#if category.getVocabularyId() != 178885><#continue></#if> 
39                    <#if categoriesString != ""><#assign categoriesString += " · "></#if> 
40                    <#assign categoriesString += category.getTitle(locale)> 
41                </#list> 
42                 
43                <#if imageFirstNew?? && imageFirstNew?has_content> 
44                    <#assign imageFirstNewJson = imageFirstNew?eval /> 
45                <#else> 
46                    <#assign imageFirstNewJson = "" /> 
47                </#if> 
48                 
49                <#assign itemClass = ""> 
50                 
51                <#if currentPage == "1"> 
52                    <#if curEntry?index == 0> 
53                        <#assign itemClass = "one"> 
54                    </#if> 
55                    <#if curEntry?index == 1 || curEntry?index == 2> 
56                        <#assign itemClass = "two"> 
57                    </#if>  
58                </#if> 
59         
60                <li class="item col-12 col-md-6 col-lg-4 ${itemClass}"> 
61                    <div class="image"> 
62                        <#if imageFirstNewJson?has_content> 
63                            <img src="/documents/${imageFirstNewJson.groupId}/${imageFirstNewJson.uuid}" alt=""> 
64                        <#else> 
65                            <img src="/documents/176177/179111/news-generic.jpg" alt=""> 
66                        </#if> 
67                         <p class="fecha"> 
68                            <span class="day">${dateNew}</span> 
69                        </p> 
70                    </div> 
71                    <div class="bloque"> 
72                        <div class="titular"> 
73                            <h2 class="small_title">${titleNew}</h2> 
74                            <#if categories?has_content> 
75                                <p class="pre_titulo">${categoriesString}</p> 
76                            </#if> 
77                        </div> 
78                        <#if summaryNew?has_content> 
79                            <div class="content_text"> 
80                                ${summaryNew} 
81                            </div> 
82                        </#if> 
83                        <a href="${linkDetail}" class="btn_blue" data-senna-off="true"> 
84                            See more  
85                            <span class="sr-only">${titleNew}</span> 
86                        </a> 
87                    </div> 
88                </li> 
89          </#list> 
90        </ul> 
91    </section> 
92</#if> 

Follow our day-to-day on our social networks

There’s a lot going on in Catalonia’s business world and these are the best sources to stay updated daily.