The following has evaluated to null or missing: ==> AssetCategoryLocalService.getAssetEntryAssetCategories [in template "42020#42061#74526" at line 16, column 24] ---- 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 categories = AssetCategoryLoc... [in template "42020#42061#74526" at line 16, column 1] ----
1<#--
2 Esta template se usa para pintar una Noticia mostrando
3 solo la sección de la Noticia y el Titular
4-->
5<#assign newUrl = "blog" />
6
7<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
8<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
9<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
10<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
11
12
13<#assign statusApproved = 0>
14<#assign journalArticle = JournalArticleLocalService.fetchLatestArticle(groupId, reserved\-article\-id.data, statusApproved)>
15<#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())>
16<#assign categories = AssetCategoryLocalService.getAssetEntryAssetCategories(assetEntry.getEntryId())>
17
18
19<#assign VOC_SECCION_BLOG = "SACYR_GLOBAL_VOC_SECCIÓN_BLOGS">
20
21
22<div class="container">
23 <#list categories as cat>
24 <#assign voc = AssetVocabularyLocalService.getAssetVocabulary(cat.getVocabularyId())>
25 <#if voc.getName()?lower_case == VOC_SECCION_BLOG?lower_case>
26 <p>${cat.getTitle(locale)}</p>
27 <#break>
28 </#if>
29 </#list>
30 <p><a href="${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay,false)}/-/${reserved\-article\-url\-title.get("data")}/${newUrl}">${titular.getData()}</a></p>
31</div>