Learn and plan

From money management basics to complex retirement planning, we've got resources to help you navigate life's challenges.

Content with Learn and Plan Categories Life Insurance .

An error occurred while processing the template.
Java method "com.sun.proxy.$Proxy127.getLayout(long, boolean, long)" threw an exception when invoked on com.sun.proxy.$Proxy127 object "com.liferay.layout.internal.service.LayoutLocalServiceWrapper@46973b9b"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign quickURL = layoutLocalService...  [in template "20101#20128#6638184" at line 87, column 33]
----
1<#assign httpServletRequest = portalUtil.getHttpServletRequest(renderRequest)> 
2<#assign originalServletRequest = portalUtil.getOriginalServletRequest(httpServletRequest)> 
3<#assign httpSession = httpServletRequest.getSession()> 
4<#assign originalLocale = .locale> 
5<#setting locale = localeUtil.getDefault()> 
6 
7<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
8 
9<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
10<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
11<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
12<#assign dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] > 
13<#assign dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] > 
14 
15<#assign currentGroup = groupLocalService.getGroup(groupId) > 
16 
17 
18<div class="article-container ml-3"> 
19	<div class="article-list"> 
20		<#if entries?has_content> 
21			<#list entries as curEntry> 
22				 
23				<#assign journalArticle = ""/> 
24				<#assign journalArticle = journalArticleLocalService.getLatestArticle(curEntry.getClassPK())/> 
25				 
26 
27				 
28				<#assign document = saxReaderUtil.read(journalArticle.getContent())/> 
29				 
30				<#assign documentMedia = ""/> 
31				<#assign articleTitle = ""/> 
32				<#assign shortDescription = ""/> 
33				<#assign linkToPage = ""/> 
34				<#assign altImage = ""/> 
35 
36				<#assign relativeURL = ""/> 
37				<#assign Image = ""/> 
38				 
39				<#assign rootElement = document.getRootElement()/> 
40				<#assign elements = rootElement.elements()/> 
41				 
42				<#list elements as dynamicElement> 
43					<#assign attributeValue = dynamicElement.attributeValue("name")/> 
44				    
45					<#if attributeValue == "documentMedia"> 
46						<#assign documentMedia = dynamicElement.element("dynamic-content")/> 
47						<#assign documentElement = dynamicElement/> 
48					<#elseif attributeValue == "articleTitle"> 
49						<#assign articleTitle = dynamicElement.element("dynamic-content")/> 
50					<#elseif attributeValue == "shortDescription"> 
51							<#assign shortDescription = dynamicElement.element("dynamic-content")/> 
52					<#elseif attributeValue == "linkToPage"> 
53							<#assign linkToPage = dynamicElement.element("dynamic-content")/> 
54					<#elseif attributeValue == "readingTime"> 
55							<#assign readingTime = dynamicElement.element("dynamic-content")/> 
56					 <#elseif attributeValue == "altImage"> 
57							<#assign altImage = dynamicElement.element("dynamic-content")/> 
58					</#if> 
59					   
60				</#list> 
61				 
62				<#assign linkGroupId = groupId/> 
63                <#if linkToPage.getData()?contains("@")> 
64                	<#list linkToPage.getData()?split("@") as sValue> 
65                		<#if sValue?index == 0> 
66                			<#assign linkPageId = sValue?number/> 
67                		<#elseif sValue?index == 1> 
68                			<#if sValue == "private-group"> 
69                				<#assign linkPrivate = true/> 
70                			<#else> 
71                				<#assign linkPrivate = false/> 
72                			</#if> 
73                		<#elseif sValue?index == 2> 
74                			<#assign linkGroupId = sValue/> 
75                		</#if> 
76                	</#list> 
77                <#else> 
78            	    <#if linkToPage.getData()!=""> 
79                		<#assign pageLinkJson = linkToPage.getData()?eval> 
80                		<#if pageLinkJson.layoutId!=""> 
81                			<#assign linkPageId = pageLinkJson.layoutId> 
82                		</#if> 
83            			<#assign linkPrivate = pageLinkJson.privateLayout> 
84                	</#if> 
85                </#if> 
86                 
87				<#assign quickURL = layoutLocalService.getLayout(getterUtil.getLong(linkGroupId), getterUtil.getBoolean(linkPrivate), getterUtil.getLong(linkPageId?number))/> 
88				<#assign relativeURL = quickURL.getFriendlyURL()/> 
89				<#if getterUtil.getBoolean(linkPrivate)> 
90					<#assign hasAccess = layoutPermission.contains(permissionChecker, quickURL.getPlid(), 'VIEW')/> 
91					<#if currentGroup.getName(locale) == "midlandnational.com" && hasAccess> 
92						<#assign relativeURL = "/group/mnportal" + quickURL.getFriendlyURL()/> 
93					<#elseif hasAccess> 
94						<#assign relativeURL = "/group/nacolah-portal" + quickURL.getFriendlyURL()/> 
95					</#if> 
96				</#if>		 
97											 
98				<#assign imageJson = documentMedia.getData()> 
99				<#if imageJson?has_content> 
100					<#assign document_map = jsonFactoryUtil.createJSONObject(imageJson)> 
101					<#assign title = document_map.getString("title")> 
102					<#assign uuid = document_map.getString("uuid")> 
103					<#assign groupId = document_map.getString("groupId")> 
104					<#assign dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid,groupId?number)> 
105					<#assign Image = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'')> 
106				 </#if> 
107				 
108				<div class="row align-items-center my-3"> 
109					<div class="col-12 col-xl-3"> 
110						<#if altImage != ""> 
111							<img class="img-fluid" alt="${altImage.getText()}" src="${Image}"/> 
112						<#else> 
113							<img class="img-fluid" src="${Image}"/> 
114						</#if> 
115					</div> 
116					<div class="col-12 col-xl-9"> 
117						<div> 
118							<h2 class="sfg-headers" style="margin: 0 !important;"> 
119								<a class="btn btn-link btn-lg text-left p-0 font-weight-bold" href="${relativeURL}" style="font-size:20px;">${articleTitle.getText()}</a> 
120							</h2> 
121 
122							<span class="text-muted">Reading Time: ${readingTime.getText()}</span> 
123						</div> 
124                        <div class="article-categories mb-3"> 
125                            <#assign categoryList = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(curEntry.getClassPK()))> 
126                            <#list categoryList as cat> 
127                                <#if cat.getName() != "general"> 
128                                    <a href="/learn-and-plan/-/categories/${cat.getCategoryId()}?p_r_p_categoryId=${cat.getCategoryId()}" class="badge badge-secondary">${cat.getName()}</a> 
129                                </#if> 
130							</#list> 
131							</div> 
132						<div> 
133							<p>${shortDescription.getText()}</p> 
134							<a href="${relativeURL}" class="btn btn-link px-0">Read the blog</a> 
135						</div> 
136					</div> 
137				</div> 
138				 
139			</#list> 
140		</#if> 
141 
142	</div> 
143</div>