Actualités
Nos chroniqueurs
Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> dynamicElement.element("dynamic-content") [in template "79933785239121#20119#38635" at line 63, column 41]
----
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 sommaire = dynamicElement.ele... [in template "79933785239121#20119#38635" at line 63, column 21]
----
1<#--
2Widget templates can be used to modify the look of a
3specific application.
4
5Please use the right panel to quickly add commonly used variables.
6Autocomplete is also available and can be invoked by typing "${".
7-->
8<style>
9 .span-category p {
10 display: inline;
11 margin-bottom: 0;
12 }
13</style>
14<#assign index = 0>
15<div class="container">
16
17 <div class="border-bottom border-1 border-gray-300">
18 <div class="row d-flex align-items-end">
19 <div class="col">
20 <h2 class="mb-0">
21 <span class="bottom-border bottom-border-primary pb-2">Les grands dossiers</span>
22 </h2>
23 </div>
24 <div class="col-auto text-end">
25 <a class="text-decoration-none text-body" href="https://coopoint.info/dossiers">
26 Voir tous les dossiers
27 </a>
28 </div>
29 </div>
30 </div>
31 <div class="row d-flex align-items-stretch py-5">
32
33
34<#if entries?has_content>
35 <#list entries as curEntry>
36 <#assign assetEntryCategoryIds = curEntry.getCategoryIds() />
37 <#assign renderer = curEntry.getAssetRenderer()>
38 <#assign className = renderer.getClassName()>
39 <#if className == "com.liferay.journal.model.JournalArticle">
40 <#assign journalArticle = renderer.getArticle()>
41 <#assign document = saxReaderUtil.read(journalArticle.getContent())>
42 <#assign rootElement = document.getRootElement()>
43
44 <#assign link = "">
45 <#assign titre = "">
46 <#assign sommaire= "">
47 <#assign date = "">
48 <#assign estEnLigne = "">
49
50 <#assign imageFiche = "">
51 <#assign imageArticleContent = "">
52 <#assign journalArticleResourcePK = journalArticle.getResourcePrimKey()>
53 <#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
54 <#assign categoryList = assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", journalArticleResourcePK)/>
55
56
57
58 <#list rootElement.elements() as dynamicElement>
59 <#if dynamicElement.attributeValue("name") == "Text45360172">
60 <#assign titre = dynamicElement.element("dynamic-content").getText()>
61 </#if>
62 <#if dynamicElement.attributeValue("name") == "RichText73680515">
63 <#assign sommaire = dynamicElement.element("dynamic-content").getText()>
64 </#if>
65 <#if dynamicElement.attributeValue("name") == "Date19797917">
66 <#assign date = dynamicElement.element("dynamic-content").getText()>
67 </#if>
68 <#if dynamicElement.attributeValue("name") == "Radio33203483">
69 <#assign estEnLigne = dynamicElement.element("dynamic-content").getText()>
70 </#if>
71 <#if "Image60701321" == dynamicElement.attributeValue("name")>
72 <#assign imageArticleContent = dynamicElement.element("dynamic-content").getText()>
73 <#if imageArticleContent??>
74 <#assign imgJson = jsonFactoryUtil.createJSONObject(imageArticleContent)>
75 <#if imgJson.url?has_content>
76 <#assign imageFiche = imgJson.url>
77 <#elseif imgJson.groupId?has_content>
78 <#assign imageFiche = "/documents/"+ imgJson.groupId +"/" +imgJson.resourcePrimKey +"/"+ imgJson.name +"/"+imgJson.uuid>
79 </#if>
80 </#if>
81 </#if>
82 <#assign link = renderer.getURLViewInContext(renderRequest, renderResponse, '') >
83
84
85
86 </#list>
87 </#if>
88 <!--Tester si le contenu est sélectionné En ligne-->
89 <#if estEnLigne == "Option67141765">
90 <#if index == 0>
91 <div class="col-lg-6 d-flex align-items-stretch">
92 </#if>
93 <#if index == 1>
94 <div class="col-lg-6">
95 <div class="row d-flex align-items-stretch">
96
97 </#if>
98 <#if index != 0>
99 <div class="col-sm-6 col-lg-6 d-flex align-items-stretch">
100 </#if>
101
102 <a class="box box-dossier mb-4 w-100 d-flex flex-column" href="${link}">
103 <#if imageArticleContent?? && imageFiche != "">
104 <div class="ratio-9-16 mb-3" alt="${titre}" style="background-image: url('${imageFiche}')"></div>
105 <#else>
106 <div class="ratio-9-16 mb-3" alt="${titre}" style="background-color:black;"></div>
107 </#if>
108
109 <div class="px-2">
110 <h3 class="h4 mb-3">${titre}</h3>
111 <#if index == 0>
112 ${sommaire}
113 </#if>
114 </div>
115
116
117
118 <div class="p-2 mt-auto row d-flex align-items-end">
119 <div class="col-auto small">
120 <span class="fw-bold text-uppercase span-category">
121 <#list categoryList as category>
122 ${htmlUtil.unescape(category.getDescription())}
123 </#list>
124 </span>
125 <span> / </span>
126 <span>${date}</span>
127 </div>
128 <div class="col text-end text-right">
129 <span data-toggle="tooltip" data-placement="top" title="Contenu payant - Abonnez-vous pour y avoir accès">
130 <svg xmlns="http://www.w3.org/2000/svg" width="12.766" height="14.59" viewBox="0 0 12.766 14.59"><path id="Tracé_272" data-name="Tracé 272" d="M4.1,4.1V5.471H8.663V4.1A2.28,2.28,0,1,0,4.1,4.1ZM2.28,5.471V4.1a4.1,4.1,0,0,1,8.207,0V5.471h.456a1.825,1.825,0,0,1,1.824,1.824v5.471a1.825,1.825,0,0,1-1.824,1.824H1.824A1.825,1.825,0,0,1,0,12.766V7.295A1.825,1.825,0,0,1,1.824,5.471Z" fill="#2b3a8c"/></svg>
131 </span>
132 </div>
133 </div>
134
135
136 </a>
137 <#if index != 0>
138 </div>
139 </#if>
140 <#if index == 0>
141 </div>
142 </#if>
143 <#if index == 4>
144 </div>
145 </div>
146 </#if>
147 <#assign index = index + 1>
148 </#if>
149 </#list>
150 </#if>
151</div>
152
153</div>