Articles et dossiers

DSN, mode d'emploi

La Déclaration Sociale Nominative (DSN) repose sur la transmission unique, ...

En savoir plus

La DSN ça marche ?

Une erreur s'est produite lors du traitement du gabarit.
Java method "static com.liferay.portal.kernel.service.LayoutLocalServiceUtil.getLayout(long, boolean, long)" threw an exception; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if (layoutService.getLayout(getterUt...  [in template "directives_agora.ftl" in function "getPageTitleFromLinkToPage" at line 65, column 5]
	- Reached through: ${agora.getPageTitleFromLinkToPage(la...  [in template "directives_agora.ftl" at line 82, column 32]
	- Reached through: #assign commentaire = "${agora.getPag...  [in template "directives_agora.ftl" in macro "displayInternalLink" at line 82, column 9]
	- Reached through: @agora.displayInternalLink link_to_la...  [in template "10136#10174#BLOC_ZOOM_SUR_TEMPLATE" at line 78, column 25]
----
1<#assign layoutService=staticUtil[ "com.liferay.portal.kernel.service.LayoutLocalServiceUtil"] /> 
2<#assign groupUrl=themeDisplay.getLayout().getGroup().getFriendlyURL()/> 
3<#assign UrlPublic=themeDisplay.getPathFriendlyURLPublic()/> 
4<#assign urlPortal=themeDisplay.getPortalURL()/> 
5 
6<#--type de bloc--> 
7<#if type_bloc?? && type_bloc.getData()=='info'> 
8    <#assign type_bloc_css="informations" /> 
9    <#assign bg_css="encadre" /> 
10    <#assign center_link_css="text-center" /> 
11<#else> 
12    <#assign type_bloc_css="zoomsur" /> 
13    <#assign bg_css="bg" /> 
14    <#assign center_link_css="" /> 
15</#if> 
16 
17<#-- si pas d 'image, ou si c'est un bloc informations, le texte prend toute la largeur --> 
18<#if type_bloc_css=="zoomsur" && (Titre_Colonne.Image)?? && validator.isNotNull(Titre_Colonne.Image.getData())> 
19    <#assign col1_css_class="col-md-6 py-4" /> 
20    <#assign col2_css_class="col-md-6 col-12" /> 
21    <#assign padding_css_class=""> 
22<#else> 
23    <#assign col1_css_class="col-md-12" /> 
24    <#assign col2_css_class="hidden-sm" /> 
25    <#assign padding_css_class="py-4"> 
26</#if> 
27 
28<#-- Si les trois liens sont renseignés, priorité au lien interne cliquable sur le titre --> 
29<#assign valeur_lien="" /> 
30    <#if validator.isNotNull(Titre_Colonne.Lien.getData())> 
31        <#assign valeur_lien="${Titre_Colonne.Lien.getFriendlyUrl()}" /> 
32    <#elseif (Titre_Colonne.Lien_interne_relatif)?? && validator.isNotNull(Titre_Colonne.Lien_interne_relatif.getData())> 
33        <#assign valeur_lien="${urlPortal}${UrlPublic}${groupUrl}${Titre_Colonne.Lien_interne_relatif.getData()}" /> 
34    <#elseif (Titre_Colonne.Lien_externe)?? && validator.isNotNull(Titre_Colonne.Lien_externe.getData())> 
35        <#assign valeur_lien="${Titre_Colonne.Lien_externe.getData()}" /> 
36    </#if> 
37<#--debut html --> 
38<article class="${type_bloc_css} flex-column"> 
39    <#if validator.isNotNull(Titre_Bloc.getData())> 
40        <h2 class="titre-souligne">${Titre_Bloc.getData()}</h2> 
41    </#if> 
42    <div class="row mx-0 ${padding_css_class} ${bg_css} zoom-reverse"> 
43        <div class="flex-column ${col1_css_class} col-12 bloc-text"> 
44        <#--Si aucun lien n'est renseigné, le titre n'est pas cliquable --> 
45            <#if validator.isNotNull(Titre_Colonne.getData())> 
46                <#if valeur_lien != ""> 
47                <h3 class="titre-rouge"> <a data-senna-off="true" href="${valeur_lien}"> ${Titre_Colonne.getData()} </a> </h3> 
48                <#else> 
49                <h3 class="titre-rouge"> ${Titre_Colonne.getData()}</h3> 
50                </#if> 
51            </#if> 
52            <#if validator.isNotNull(Titre_Colonne.Texte.getData())> 
53                <p class="contenu d-none d-md-block">${Titre_Colonne.Texte.getData()}</p> 
54            </#if> 
55 
56        <#-- liste des liens--> 
57            <#-- liens internes--> 
58            <#if (Titre_Colonne.Lien.getSiblings())?has_content> 
59                <#list Titre_Colonne.Lien.getSiblings() as cur_Lien> 
60                    <#if validator.isNotNull(cur_Lien.getData())> 
61 
62                        <#-- Initialisation des variables --> 
63                        <#assign commentaire="" /> 
64                        <#assign libelle="En savoir plus" /> 
65                        <#assign link_to_layout=cur_Lien.getFriendlyUrl()/> 
66                        <#assign layout=cur_Lien.getData()/> 
67 
68                        <#-- commentaire du lien--> 
69                        <#if (cur_Lien.Commentaire_Lien)?? && validator.isNotNull(cur_Lien.Commentaire_Lien.getData())> 
70                            <#assign commentaire=cur_Lien.Commentaire_Lien.getData()/> 
71                        </#if> 
72 
73                        <#-- Libelle du lien--> 
74                        <#if (cur_Lien.Libelle_Lien)?? && validator.isNotNull(cur_Lien.Libelle_Lien.getData())> 
75                            <#assign libelle=cur_Lien.Libelle_Lien.getData()/> 
76                        </#if> 
77                        <div class="d-none d-md-block ${center_link_css}"> 
78                        <@agora.displayInternalLink link_to_layout layout commentaire libelle /> 
79                        </div> 
80                    </#if> 
81                </#list> 
82            </#if> 
83 
84            <#-- liens internes relatifs--> 
85            <#if (Titre_Colonne.Lien_interne_relatif.getSiblings())?has_content> 
86                <#list Titre_Colonne.Lien_interne_relatif.getSiblings() as cur_Lien> 
87                    <#if validator.isNotNull(cur_Lien.getData())> 
88 
89                        <#-- Initialisation des variables --> 
90                        <#assign friendlyUrlTemp=UrlPublic+groupUrl+cur_Lien.getData()/> 
91                        <#assign friendlyUrlComplete=friendlyUrlTemp?replace(portalUtil.getPathProxy(), "")/> 
92 
93                        <#assign plid=portal.getPlidFromFriendlyURL(companyId, friendlyUrlComplete)/> 
94 
95                        <#if plid?? && plid!=0> 
96                            <#assign layoutCible=layoutService.fetchLayout(getterUtil.getLong(plid)) /> 
97                            <#if layoutCible??> 
98                                <#assign pageTitle=layoutCible.getName(locale) /> 
99                                <#assign commentaire="Accéder à " + pageTitle/> 
100                                <#assign libelle="${pageTitle}" /> 
101 
102                                <#-- commentaire du lien--> 
103                                <#if (cur_Lien.CommentaireLienInterneRelatif)?? && validator.isNotNull(cur_Lien.CommentaireLienInterneRelatif.getData())> 
104                                    <#assign commentaire=cur_Lien.CommentaireLienInterneRelatif.getData()/> 
105                                </#if> 
106 
107                                <#-- Libelle du lien--> 
108                                <#if (cur_Lien.LibelleLienInterneRelatif)?? && validator.isNotNull(cur_Lien.LibelleLienInterneRelatif.getData())> 
109                                    <#assign libelle=cur_Lien.LibelleLienInterneRelatif.getData()/> 
110                                </#if> 
111                                <div class="d-none d-md-block ${center_link_css}"> 
112                                <a data-senna-off="true" class="bouton olive mt-3" href=" ${urlPortal}${UrlPublic}${groupUrl}${cur_Lien.getData()}" title="${commentaire}"> 
113                                ${libelle} 
114                                </a> 
115                                </div> 
116                            </#if> 
117                        </#if> 
118                    </#if> 
119                </#list> 
120            </#if> 
121 
122            <#-- liens externes--> 
123            <#if (Titre_Colonne.Lien_externe.getSiblings())?has_content> 
124                <#list Titre_Colonne.Lien_externe.getSiblings() as cur_Lien> 
125                    <#if validator.isNotNull(cur_Lien.getData())> 
126                        <#assign comment="" /> 
127                        <#assign label="En savoir plus" /> 
128                        <#assign link=cur_Lien.getData()/> 
129                        <#if cur_Lien.CommentaireLienExterne?? && validator.isNotNull(cur_Lien.CommentaireLienExterne.getData())> 
130                            <#assign comment=cur_Lien.CommentaireLienExterne.getData()/> 
131                        <#else> 
132                            <#assign comment="Accéder à " + link /> </#if> 
133                        <#if cur_Lien.LibelleLienExterne?? && validator.isNotNull(cur_Lien.LibelleLienExterne.getData())> 
134                            <#assign label=cur_Lien.LibelleLienExterne.getData()/> </#if> 
135                            <div class="d-none d-md-block ${center_link_css}"> 
136                            <@agora.displayExternalLink link comment label /> 
137                            </div> 
138                        </#if> 
139                </#list> 
140            </#if> 
141        </div> 
142        <#--  Bloc Image--> 
143        <#if (Titre_Colonne.Image)?? && validator.isNotNull(Titre_Colonne.Image.getData())> 
144        <div class="${col2_css_class} bloc-img"> 
145            <a data-senna-off="true" href="${valeur_lien}"> 
146                <#assign imageAlt="" /> 
147                <#if (Titre_Colonne)?? && (Titre_Colonne.Image)?? && (Titre_Colonne.Image.Image_Alt)?? && validator.isNotNull(Titre_Colonne.Image.Image_Alt.getData())> 
148                    <#assign imageAlt=Titre_Colonne.Image.Image_Alt.getData() /> 
149                </#if> 
150                <img src="${Titre_Colonne.Image.getData()}" alt="${imageAlt}"> </a> 
151        </div> 
152        </#if> 
153    </div> 
154</article>