S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.valencia.liferay.common.utils.api.CommonUtilsApi") [in template "20115#20151#379494" at line 1, column 26] ---- 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 commonUtilsApi = serviceLocat... [in template "20115#20151#379494" at line 1, column 1] ----
1<#assign commonUtilsApi =serviceLocator.findService("com.valencia.liferay.common.utils.api.CommonUtilsApi")/>
2<#assign portletRequestModel = objectUtil("com.liferay.portal.kernel.portlet.PortletRequestModel", renderRequest, renderResponse) />
3
4<div class="row">
5 <div class="col-12">
6 <#if titularBusqueda?? && titularBusqueda.getData()?has_content>
7 <h2 class="bloque_titulo">${titularBusqueda.getData()}</h2>
8 </#if>
9 <#assign bloquesNew = commonUtilsApi.replaceUrlWithUID("${themeDisplay.getURLCurrent()}",bloques.getData())/>
10 ${bloquesNew}
11 </div>
12</div>
13
14<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
15<#assign AssetLinkLocalService = serviceLocator.findService("com.liferay.asset.link.service.AssetLinkLocalService") />
16
17<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
18<#assign journalId = .vars['reserved-article-id'].data/>
19
20<#attempt>
21 <#assign article = JournalArticleLocalService.fetchArticle( groupId ,journalId) >
22<#recover>
23</#attempt>
24
25<#if article??>
26<#assign journalArticleClassname = "com.liferay.journal.model.JournalArticle" >
27<#assign articleEntry = AssetEntryLocalService.getEntry(journalArticleClassname, article.getResourcePrimKey())>
28<#assign articleRelatedEntries = AssetLinkLocalService.getDirectLinks(articleEntry.getEntryId()) >
29
30<#if articleRelatedEntries?has_content>
31
32 <#assign relatedTemplateKey = "38113" >
33
34 <#list articleRelatedEntries as relatedAsset>
35 <#assign relatedEntry = AssetEntryLocalService.getEntry(relatedAsset.getEntryId2()) >
36 <#assign entryClassPK = relatedEntry.getClassPK() >
37
38 <#assign journalArticleClassname = "com.liferay.journal.model.JournalArticle" >
39 <#if journalArticleClassname==relatedEntry.getClassName()>
40 <#assign relatedArticle = JournalArticleLocalService.fetchLatestArticle(entryClassPK) >
41 <#if relatedArticle.getDDMTemplateKey() == relatedTemplateKey >
42 <#assign relatedArticleContent = JournalArticleLocalService.getArticleContent(relatedArticle, relatedArticle.getDDMTemplateKey(), "view", locale, portletRequestModel,themeDisplay)>
43
44 <div class="bloque-cuadro">
45 <h3 class="titulo-bloque"><@liferay.language key="informacion_adicional" /></h3>
46 <#assign urlNew = commonUtilsApi.replaceUrlWithUID("${themeDisplay.getURLCurrent()}",relatedArticleContent)/>
47 <div class="col-12 pb-3" >${urlNew}</div>
48 </div>
49
50
51 </#if>
52 </#if>
53 </#list>
54</#if>
55</#if>
56<style>
57 .bloque-cuadro{
58 border:3px solid;
59 border-color:#dadada;
60 padding-left:15px;
61 padding-right:15px;
62 margin-top:15px;
63 }
64
65 .titulo-bloque{
66 margin-top: 3%;
67 margin-bottom: 3%;
68 color:4C4C4C;
69 }
70</style>