News
An error occurred while processing the template.
The following has evaluated to null or missing:
==> saxReaderUtil.createXPath("dynamic-element[@field-reference='intro']/dynamic-content[@language-id='" + currentLanguageId + "']").selectSingleNode(rootElement) [in template "10155#10195#1646337" at line 40, column 32]
----
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 intro = saxReaderUtil.createX... [in template "10155#10195#1646337" at line 40, column 17]
----
1<#if entries?has_content>
2<ul class="row list-unstyled">
3 <#assign LocaleUtil=staticUtil["com.liferay.portal.kernel.util.LocaleUtil"] />
4 <#assign AssetEntryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />
5 <#assign JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] />
6 <#assign DLUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] />
7 <#assign DLAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] />
8
9 <#list entries as entry>
10 <#assign documento=""/>
11 <#assign assetEntry = AssetEntryLocalServiceUtil.getEntry(entry.getClassName(), entry.getClassPK()?number) />
12 <#assign renderer = assetEntry.getAssetRenderer() />
13 <#assign className = renderer.getClassName() />
14 <#assign journalArticle = renderer.getArticle() />
15 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
16 <#assign journalArticleClassName=journalArticle.getClassName()/>
17 <#assign rootElement = document.getRootElement() />
18 <#assign currentLanguageId = themeDisplay.getLanguageId() />
19 <#assign defaultLanguageId = rootElement.attributeValue("default-locale")!currentLanguageId />
20
21 <#assign friendlyMap=journalArticle.getFriendlyURLMap()/>
22 <#assign friendlyUrlDefault="">
23 <#assign friendlyUrl="">
24
25 <#list friendlyMap as key,valor>
26 <#if key==LocaleUtil.getDefault()>
27 <#assign friendlyUrlDefault=valor/>
28 </#if>
29
30 <#if key==locale>
31 <#assign friendlyUrl=valor/>
32 </#if>
33 </#list>
34
35 <#if friendlyUrl=="">
36 <#assign friendlyUrl=friendlyUrlDefault/>
37 </#if>
38
39 <#assign fecha=saxReaderUtil.createXPath("dynamic-element[@field-reference='date']").selectSingleNode(rootElement).getStringValue()/>
40 <#assign intro=saxReaderUtil.createXPath("dynamic-element[@field-reference='intro']/dynamic-content[@language-id='" + currentLanguageId + "']").selectSingleNode(rootElement).getStringValue()/>
41 <#assign header=saxReaderUtil.createXPath("dynamic-element[@field-reference='header']/dynamic-content[@language-id='" + currentLanguageId + "']").selectSingleNode(rootElement).getStringValue()/>
42
43 <li class="col-12">
44 <div class="border-bottom-grey mb-3">
45 <p class="mb-0 cie-xl cie-fw-medium cie-u-color-orange-700">
46 <#if fecha?has_content>
47 <#assign fechaPartes = fecha?replace("-", "/")?split("/") />
48
49 <#if fechaPartes?size == 3>
50 ${fechaPartes[2]}/${fechaPartes[1]}/${fechaPartes[0]}
51 </#if>
52 </#if>
53 </p>
54 <a href="/w/${friendlyUrl}"class="text-decoration-none cie-xl cie-fw-medium mb-0">
55 ${header}
56 </a>
57 <p class="cie-l cie-fw-light cie-u-color-grey-700">
58 ${intro}
59 </p>
60 </div>
61 </li>
62
63 </#list>
64</ul>
65</#if>
66
67<style>
68.border-bottom-grey{
69 border-bottom:1px solid var(--cie-grey-900);
70}
71</style>