An error occurred while processing the template.
The following has evaluated to null or missing: ==> HeadlinexPathSelector.selectSingleNode(rootElement) [in template "20116#20152#2797435" at line 128, column 47] ---- 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 Headline = HeadlinexPathSelec... [in template "20116#20152#2797435" at line 128, column 27] ----
1<#--
2Name: Employer/Broker News Article
3Type: Web Content Template
4Provides the template for a Employer/Broker News Article structure. Intended
5to be used in conjunction with the Employer/Broker News & Updates Application
6Display Template in an Asset Publisher.
7-->
8
9<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
10<#assign themeDisplay = serviceContext.getThemeDisplay() />
11<#assign layout = themeDisplay['plid'] />
12<#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
13<#assign layoutObject = layoutService.getLayout(layout?number) />
14<#assign page_group = layoutObject.getGroup() />
15<#assign site_title = page_group.getDescriptiveName() />
16<#attempt>
17 <#assign articleId = themeDisplay.getRequest().getParameter('articleId')>
18 <#assign classPK = themeDisplay.getRequest().getParameter('classPK')>
19 <#assign JournalArticleResource = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")>
20 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
21 <#assign SAXReaderUtil = serviceLocator.findService("com.liferay.portal.kernel.xml.SAXReaderUtil")>
22 <#assign journalArticleResource = JournalArticleResource.getJournalArticleResource(getterUtil.getLong(classPK))>
23 <#assign journalArticle = JournalArticleLocalService.getLatestArticle(journalArticleResource.getResourcePrimKey())>
24 <#assign document = SAXReaderUtil.read(journalArticle.getContent())>
25 <#assign Headline = document.selectSingleNode("/root/dynamic-element[@name='Headline']/dynamic-content").getStringValue()>
26 <#assign Dateline = document.selectSingleNode("/root/dynamic-element[@name='Dateline']/dynamic-content").getStringValue()>
27 <#assign Body = document.selectSingleNode("/root/dynamic-element[@name='Body']/dynamic-content").getStringValue()>
28
29 <div class="pageTools body hidden-print breadcrumb-container">
30 <div class="container-block">
31 <div role="navigation" aria-label="breadcrumb" class="breadcrumb breadcrumbDisplay">
32 <#if site_title == "Excellus Brokers">
33 <span><a href="https://broker.excellusbcbs.com">Broker</a></span>
34 <#elseif site_title == "Univera Brokers">
35 <span><a href="https://broker.univerahealthcare.com">Employer</a></span>
36 <#elseif site_title == "Excellus Employers">
37 <span><a href="https://employer.excellusbcbs.com">Employer</a></span>
38 <#else>
39 <span><a href="https://employer.univerahealthcare.com">Employer</a></span>
40 </#if>
41 <span><span class="breadcrumb-icon" aria-hidden="true"></span><a href="/resources/news">News and Updates</a></span>
42 <span><span class="breadcrumb-icon" aria-hidden="true"></span>${Headline}</span>
43 </div>
44 </div>
45 </div>
46
47 <#if site_title == "Excellus Brokers">
48 <script>
49 var headline = "${Headline}";
50 document.title = headline + ' | Broker | Excellus BlueCross BlueShield';
51 </script>
52 <#elseif site_title == "Univera Brokers">
53 <script>
54 var headline = "${Headline}";
55 document.title = headline + ' | Broker | Univera Healthcare';
56 </script>
57 <#elseif site_title == "Excellus Employers">
58 <script>
59 var headline = "${Headline}";
60 document.title = headline + ' | Employer | Excellus BlueCross BlueShield';
61 </script>
62 <#else>
63 <script>
64 var headline = "${Headline}";
65 document.title = headline + ' | Employer | Univera Healthcare';
66 </script>
67 </#if>
68
69 <div class="container-fluid body">
70 <div class="row">
71 <div class="col-sm-9 provider-news__article">
72 <a class="provider-news__article__back-link" href="/resources/news">
73 <i class="fa fa-chevron-left"></i>Return to ${site_title} News
74 </a>
75 <h1 class="provider-news__article__title">${Headline}</h1>
76 <#if validator.isNotNull(Dateline)>
77 <#assign DateObj = dateUtil.parseDate("yyyy-MM-dd", Dateline, locale)>
78 <span class="provider-news__article__dateline text-muted">
79 Issued ${dateUtil.getDate(DateObj, "MMMM d, yyyy", locale)}
80 </span>
81 </#if>
82 <div class="provider-news__article__body">
83 ${Body}
84 </div>
85 <#recover>
86 <h3>Article not found</h3>
87 </#attempt>
88 </div>
89 <div class="col-sm-3 provider-news" >
90 <div><div class="row "> </div><div class="row "> </div>
91 <#--
92 Name: Provider Related News
93 Type: Asset Publisher Template
94 Uses content template: No
95 Provides template to retrieve Related Article based on Journal Article Categories.
96 -->
97 <style>
98 .relatedCat{background-color:transparent;border-color:#bbb;color:#007ac3;border:solid #007ac3 1px;font-size:1.1rem;border-radius:4px;font-weight:600;padding-bottom:.75rem;padding-top:.75rem;transition:color .3s,border-color .3s,background-color .3s;display:inline-block;text-align:center;vertical-align:middle;touch-action:manipulation;white-space:nowrap;padding:3px 6px;font-family:'Open Sans',sans-serif}
99 </style>
100 <#assign templateTitle = "RELATED NEWS:">
101 <#assign templateCategory = "CATEGORY:">
102 <#assign articleUrl = "article">
103 <#assign strArticleId = themeDisplay.getRequest().getParameter('articleId')>
104 <#assign strClassPK = themeDisplay.getRequest().getParameter('classPK')>
105 <#assign classPK = strClassPK?number>
106 <#assign articleId = strArticleId?number>
107 <#assign portalURL = themeDisplay.getURLPortal()>
108 <#assign siteGroupId = themeDisplay.getSiteGroupId()>
109 <#assign globalGroupId = themeDisplay.getCompanyGroupId()>
110
111 <#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
112 <#assign categories = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle",classPK)/>
113 <#assign RelatedArticlcleService = serviceLocator.findService("com.excellus.custom.service.relatedarticles.RelatedArticleService")>
114 <#assign relatedEntries = RelatedArticlcleService.getRelatedArticles(articleId,classPK,portalURL,siteGroupId,globalGroupId)/>
115 <h5 class="provider-news__title">${templateTitle}</h5>
116 <#if relatedEntries?has_content>
117 <#list relatedEntries>
118 <#items as relatedEntry>
119 <#-- Get Article Metadata -->
120 <#assign renderer = relatedEntry.getAssetRenderer()>
121 <#assign journalArticle = renderer.getAssetObject()>
122 <#assign urlTitle = renderer.getUrlTitle()>
123 <#assign modifiedDate = relatedEntry.getModifiedDate()>
124 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale))>
125 <#assign rootElement = document.getRootElement()>
126 <#-- Get fields -->
127 <#assign HeadlinexPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Headline']")>
128 <#assign Headline = HeadlinexPathSelector.selectSingleNode(rootElement).getStringValue()>
129 <#assign DatelinexPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Dateline']")>
130 <#assign Dateline = DatelinexPathSelector.selectSingleNode(rootElement).getStringValue()>
131 <#assign BodyxPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Body']")>
132 <#assign Body = BodyxPathSelector.selectSingleNode(rootElement).getStringValue()>
133 <#-- Get article link -->
134 <#assign viewURL = "${articleUrl}?articleId=" + relatedEntry.getEntryId() + "&classPK=" + relatedEntry.getClassPK()>
135 <#assign CustomURLexPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='CustomURL']")>
136 <#assign customURL = CustomURLexPathSelector.selectSingleNode(rootElement).getStringValue()!"">
137
138 <div class="provider-news__entry">
139 <#if customURL??>
140 <#if customURL?trim?has_content>
141 <#if customURL?contains("univerahealthcare") || customURL?contains("excellusbcbs") || customURL?contains("documents") || customURL?contains("article") || customURL?contains("lifetimebenefitsolutions")>
142 <#if customURL?contains("pdf")>
143 <b>
144 <a class="provider-news__entry__link pdf-icon"
145 href="${customURL}">
146 ${Headline}
147 <span class="sr-only">Open a PDF</span>
148 </a>
149 </b>
150 <#else>
151 <b>
152 <a class="provider-news__entry__link"
153 href="${customURL}">
154 ${Headline}
155 </a>
156 </b>
157 </#if>
158 <#else>
159 <b>
160 <a class="provider-news__entry__link"
161 role="button" tabindex="0" onclick="showNotice('${customURL}');">
162 ${Headline}
163 </a>
164 </b>
165 </#if>
166 <#else>
167 <b>
168 <a class="provider-news__entry__link" href="${viewURL}">
169 ${Headline}
170 </a>
171 </b>
172 </#if>
173 </#if>
174 <p><span class="provider-news__entry__dateline text-muted">
175 <#if Dateline?trim?has_content>
176 <#assign DateObj = dateUtil.parseDate("yyyy-MM-dd", Dateline?trim, locale)>
177 Issued ${dateUtil.getDate(DateObj, "MMMM d, yyyy", locale)}
178 </#if>
179 </span>
180 </p>
181 </div>
182 </#items>
183 </#list>
184 </#if>
185 <h5 class="provider-news__title">${templateCategory}</h5>
186 <#list categories as category>
187 <p class="relatedCat">${category.getName()}</p>
188 </#list>
189 </div>
190 </div>
191 </div>
192 </div>
193
194 <style>
195 .breadcrumb-icon::before{
196 content: '\203A\00a0';
197 padding: 0 0 0 5px;
198 color: #555;
199 }
200 </style>
Script for Excellus Employer/Broker News Archive/Article