Public transport - Mobility Observatory in Catalonia (OMC)

Public transport

Public transport indicators

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "20097#20123#80876" at line 24, column 14]

----
Tip: It's the final [] step 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 url = friendlyURLs[themeDispl...  [in template "20097#20123#80876" at line 24, column 1]
----
1<#assign journalArticleId = .vars['reserved-article-id'].data> 
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
3<#assign journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")> 
4<#assign assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
5<#assign assetVocabularyLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
6 
7<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
8<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
9<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) > 
10 
11<#if (themeDisplay.getLanguageId() == 'es_ES')> 
12    <#assign indicador="Ver indicador"/> 
13    
14</#if> 
15<#if (themeDisplay.getLanguageId() == 'ca_ES')> 
16        <#assign indicador="Veure indicador"/> 
17</#if> 
18<#if (themeDisplay.getLanguageId() == 'en_US')> 
19        <#assign indicador="View indicator"/> 
20</#if> 
21<#list asset.getCategories() as category> 
22<#assign catId = category.categoryId /> 
23</#list> 
24<#assign url=friendlyURLs[themeDisplay.getLanguageId()]+"?filterCategoryIds="+catId /> 
25<ul class="padding-none listado-tematica pl-0"> 
26<li class="align-items-end"> 
27<div class="align-items-center d-flex flex-wrap"><a href='${friendlyURLs[themeDisplay.getLanguageId()]!''}?filterCategoryIds=${catId}' class='decoration'> <strong class="mr-2">${Título.getData()}:</strong> 
28   <#if Descripción.getData()?length &lt; 70><span>${Descripción.getData()}</span > </a> 
29   <#else>  
30   <span >${Descripción.getData()?substring(0,70)}...</span > </a> 
31   </#if> 
32   </div> 
33  
34   <!--<a alt="Indicador ${Título.getData()}" role="button" href="${friendlyURLs[themeDisplay.getLanguageId()]!""}?filterCategoryIds=${catId}" class="link-arrow pl-2" >${indicador}</a >--> 
35   <button class="btn-none link-arrow pl-2" onclick="window.open('${url}','_blank')">${indicador}</button> 
36</li> 
37</ul> 
38<style> 
39.btn-none{ 
40    background: none!important; 
41    border: none!important; 
42
43.decoration{ 
44    text-decoration: none!important; 
45
46.padding-none{ 
47    padding:0px!important; 
48
49</style> 

Other public transport indicators

Asset Publisher