Articles et dossiers

Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")  [in template "10136#10174#BLOC_ARTICLES_LIES_TEMPLATE" at line 1, column 39]

----
Tip: If the failing expression is known to be 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 JournalArticleLocalService = ...  [in template "10136#10174#BLOC_ARTICLES_LIES_TEMPLATE" at line 1, column 1]
----
1<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")>
 
2<#assign layoutService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService") />
 
3<#assign themeDisplay = request['theme-display'] />
 
4<#assign mainPath = themeDisplay['path-friendly-url-public'] />
 
5<#assign aLayout = themeDisplay['plid'] />
 
6<#assign layoutActuel = layoutService.getLayout(aLayout?number) />
 
7<#assign path = layoutActuel.getGroup().friendlyURL />	
 
8
 
9<#if .vars['Lien_Publication'].getSiblings()?has_content>
 
10	<#assign listArticles = []>
 
11	<#list .vars['Lien_Publication'].getSiblings() as cur_item>
 
12			<#assign link_to_layout = cur_item.getFriendlyUrl()/>
 
13			<#assign layout = cur_item.getData()/>
 
14			<#if layoutService.getLayout(getterUtil.getLong(groupId), false, getterUtil.getLong(layout))??>
 
15			<#assign layoutObject = layoutService.getLayout(getterUtil.getLong(groupId), false, getterUtil.getLong(layout)) />
 
16				<#assign pathArticle = layoutObject.getFriendlyURL(locale) />
 
17				<#assign linkToArticle = mainPath+path+pathArticle />
 
18				<#assign layoutType= layoutObject.getLayoutType().getAllPortlets() />
 
19	
 
20					<#list layoutType as portlet >
 
21						<#if portlet.getPortletId()?starts_with("56_INSTANCE_")>
 
22						<#assign portletId= portlet.getPortletId() />
 
23						<#assign PortletPreferencesFactoryUtil = staticUtil["com.liferay.portlet.PortletPreferencesFactoryUtil"] />
 
24						<#assign portletSetup = PortletPreferencesFactoryUtil.getLayoutPortletSetup(layoutObject, portletId) />
 
25						
 
26						<#assign articleId = portletSetup.getValue("articleId", "")>
 
27						<#assign groupIdA = portletSetup.getValue("groupId", "")>
 
28						<#assign article = JournalArticleLocalService.getArticle(getterUtil.getLong(groupIdA), articleId)!"" >
 
29						
 
30						<#break>
 
31						</#if>
 
32					</#list>
 
33				<#if validator.isNotNull(article) >	
 
34					<#assign listArticles = listArticles + [
 
35					  {"title":article.title, "description":article.description, "date":article.modifiedDate, "url":linkToArticle}
 
36					]>
 
37				</#if>
 
38			</#if>	
 
39	</#list>
 
40</#if>
 
41<#if listArticles?has_content>
 
42    <div class="articlesLies">
 
43    	<div>
 
44    		<h2>${.vars['Titre_Bloc'].getData()}</h2>
 
45    	</div>
 
46    	<div class="content jcarousel-wrapper row">
 
47    		<div class="jcarousel-control-prev no-padding">
 
48    		    <i class="ia-chevron"></i>
 
49    		</div>
 
50    		<div class="articlesLies jcarousel no-padding">
 
51    			<ul>
 
52    			<#list listArticles as article>
 
53    				<li>
 
54    					<div class="bg articleLie">
 
55    						<h3 class="">
 
56    							<a href="${article.url}">
 
57    							${article.title}
 
58    							</a>
 
59    						</h3>
 
60    						<p class="resume-article">
 
61    						<#assign entrySummaryShortened = stringUtil.shorten(article.description, 89 , "...")  />
 
62    						${entrySummaryShortened} <br />
 
63    						</p>
 
64    					</div>
 
65    				</li>
 
66    			</#list>			
 
67    			</ul>
 
68    		</div>
 
69    		<div class="jcarousel-control-next no-padding">
 
70                <i class="ia-chevron"></i>
 
71            </div>
 
72    	</div>			
 
73    </div>
 
74</#if>