Agrégateur de contenus

Symbolische eerste steen van het nieuw Medisch Technisch Blok ligt er!

Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> group.friendlyUrlPath  [in template "31942#31983#NEWS TEMPLATE" at line 123, column 32]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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: ${group.friendlyUrlPath}  [in template "31942#31983#NEWS TEMPLATE" at line 123, column 30]
----
1<#assign assetDisplay = liferay_asset["asset-display"] /> 
2<#setting time_zone = timeZone.ID> 
3<#setting locale = "nl_BE"> 
4<#setting datetime_format = "EEE, d MMM yyyy HH:mm:ss Z"> 
5<#assign modifiedDate = .vars['reserved-article-modified-date'].data?datetime?string["yyyy-MM-dd"] /> 
6<#assign langId = themeDisplay.getLocale() /> 
7 
8<#assign dateFormat = "dd MMMM yyyy" /> 
9 
10 
11<#assign articleId = .vars['reserved-article-id'].data /> 
12<#assign articleTitle = .vars['reserved-article-title'].data /> 
13<#assign articleDisplayDate = .vars['reserved-article-display-date'].data?datetime /> 
14 
15 
16<#assign articleKeywords = restClient.get('/headless-delivery/v1.0/sites/${groupId}/structured-contents/by-key/${articleId}?fields=keywords').keywords![]> 
17<#assign group = restClient.get("/headless-admin-user/v1.0/sites/${groupId?number}") /> 
18 
19<#assign baseURL = themeDisplay.getSiteGroup().getDisplayURL(themeDisplay) /> 
20 
21<#assign hiddenclass = "" /> 
22<#list articleKeywords as tag> 
23    <#if ( 
24    (tag?string?starts_with("positie_nl") == true && langId?starts_with("fr")) 
25    || (tag?string?starts_with("positie_fr") == true && langId?starts_with("nl")) )> 
26        <#assign hiddenclass = "hidden" /> 
27    </#if> 
28</#list> 
29 
30<!-- update social share image --> 
31<#assign socialImage = "" /> 
32<#if preview?? && preview.getData()?? && preview.getData() != "" > 
33    <#assign socialImage = preview.getData() /> 
34    <sectionSocialImage data-value-social-image="${preview.getData()}" style="display: none"> 
35    </sectionSocialImage> 
36</#if> 
37 
38 
39<section class="news-events uzb-news-detail " data-date="${modifiedDate}"> 
40    <article> 
41        <#if hiddenclass !='hidden'> 
42            <h1 style="margin-bottom: 10px">${articleTitle}</h1> 
43            <label class="news"><@liferay.language key="news-label" /></label> 
44            <span class="date"> 
45                            <i class="fa fa-clock-o" aria-hidden="true"></i> 
46                            ${dateUtil.getDate(articleDisplayDate, dateFormat, themeDisplay.getLocale())} 
47                        </span> 
48 
49            <#assign assetTagNamesList = [] /> 
50            <#list articleKeywords as tag> 
51                <#if (tag?string?starts_with("positie_") == false)> 
52                    <#assign assetTagNamesList = assetTagNamesList + [ tag ] /> 
53                </#if> 
54            </#list> 
55            <#if assetTagNamesList?has_content> 
56                <span class="tag"> 
57                                <i class="fa fa-tag" aria-hidden="true"></i> 
58                                    <#list assetTagNamesList as assetTagName> 
59                                        <#if assetTagName?index == 0 > 
60                                            ${assetTagName} 
61                                        <#else> 
62                                            - ${assetTagName} 
63                                        </#if> 
64                                    </#list> 
65                                </span> 
66            </#if> 
67 
68            <div class="content-text"> 
69                <#if abstract??> 
70                    <p> 
71                        <strong> 
72                            ${abstract.getData()} 
73                        </strong> 
74                    </p> 
75                </#if> 
76                <p> 
77                    ${content.getData()} 
78                </p> 
79            </div> 
80 
81            <#if langId?starts_with("nl") && extra?? && extra.block?? && extra.block.data?? && extra.block.data?has_content && extra.block.data?eval_json.assetEntryId??> 
82                <#list extra.block.getSiblings() as entry> 
83                    <#if entry.getType() == "journal-article" && entry.getData() != "" && entry.getData()?eval_json.assetEntryId??> 
84                        <#assign article = entry.getData()?eval /> 
85 
86                        <@assetDisplay className=article.className classPK=getterUtil.getLong(article.classPK, 0) /> 
87                    </#if> 
88                </#list> 
89            </#if> 
90 
91            <#if langId?starts_with("fr") && extra_fr?? && extra_fr.block_fr?? && extra_fr.block_fr.data?? && extra_fr.block_fr.data?has_content && extra_fr.block_fr.data?eval_json.assetEntryId??> 
92                <#list extra_fr.block_fr.getSiblings() as entry> 
93                    <#if entry.getType() == "journal-article" && entry.getData() != "" && entry.getData()?eval_json.assetEntryId??> 
94                        <#assign article = entry.getData()?eval /> 
95 
96                        <@assetDisplay className=article.className classPK=getterUtil.getLong(article.classPK, 0) /> 
97                    </#if> 
98                </#list> 
99            </#if> 
100 
101            <div class="actions"> 
102                <div class="uzb-share gray" data-value="${articleTitle}"></div> 
103                <#if (langId?starts_with("nl")) > 
104                    <a href="<@liferay.language key="newsletter-dialog-link-url" />" target="_blank" 
105                       class="uzb-button green subscribe-link"> 
106                                <span> 
107                                    <@liferay.language key="subscribe-newsletter" /> 
108                                </span> 
109                        <svg class="icon icon-tabler icon-tabler-arrow-right" fill="none" height="24" stroke="currentColor" 
110                             stroke-linecap="round" stroke-linejoin="round" stroke-width="1" viewbox="0 0 24 24" width="24" 
111                             xmlns="http://www.w3.org/2000/svg"> 
112                            <path d="M0 0h24v24H0z" fill="none" stroke="none"></path> 
113                            <line x1="5" x2="19" y1="12" y2="12"></line> 
114                            <line x1="13" x2="19" y1="18" y2="12"></line> 
115                            <line x1="13" x2="19" y1="6" y2="12"></line> 
116                        </svg> 
117                    </a> 
118                </#if> 
119            </div> 
120        <#else> 
121            <@liferay.language key="news-not-available" /> 
122            <div> 
123                <a href="/web${group.friendlyUrlPath}/news" class="uzb-button green text-center" 
124                   style="display: inline-block; margin-top: 20px;"> 
125                            <span> 
126                                <@liferay.language key="news-other" /> 
127                            </span> 
128                    <svg class="icon icon-tabler icon-tabler-arrow-right" fill="none" height="24" stroke="currentColor" 
129                         stroke-linecap="round" stroke-linejoin="round" stroke-width="1" viewbox="0 0 24 24" width="24" 
130                         xmlns="http://www.w3.org/2000/svg"> 
131                        <path d="M0 0h24v24H0z" fill="none" stroke="none"></path> 
132                        <line x1="5" x2="19" y1="12" y2="12"></line> 
133                        <line x1="13" x2="19" y1="18" y2="12"></line> 
134                        <line x1="13" x2="19" y1="6" y2="12"></line> 
135                    </svg> 
136                </a> 
137            </div> 
138        </#if> 
139 
140        <div class="newsletter-dialog"> 
141            <div class="newsletter-dialog__container"> 
142                <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-mail-opened" width="80" 
143                     height="80" viewBox="0 0 40 40" stroke-width="1.5" stroke="currentColor" fill="none" 
144                     stroke-linecap="round" stroke-linejoin="round"> 
145                    <g stroke="none" stroke-width="1.5" fill="none" fill-rule="evenodd"> 
146                        <g id="Group"> 
147                            <polygon id="Path" points="0 0 40 0 40 40 0 40"></polygon> 
148                            <path d="M20,30 L8.33333333,30 C6.49238417,30 5,28.5076158 5,26.6666667 L5,10 C5,8.15905083 6.49238417,6.66666667 8.33333333,6.66666667 L31.6666667,6.66666667 C33.5076158,6.66666667 35,8.15905083 35,10 L35,22.5" 
149                                  id="Path" stroke="#000000" stroke-linecap="round" stroke-linejoin="round"></path> 
150                            <polyline id="Path" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
151                                      points="5 10 20 20 35 10"></polyline> 
152                        </g> 
153                        <g id="Group" transform="translate(22.000000, 22.000000)"> 
154                            <polygon id="Path" points="0 0 14 0 14 14 0 14"></polygon> 
155                            <circle id="Oval" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" cx="7" 
156                                    cy="7" r="2.33333333"></circle> 
157                            <path d="M9.33333333,7 L9.33333333,7.875 C9.33333333,8.68041526 9.98625141,9.33333333 10.7916667,9.33333333 C11.5970819,9.33333333 12.2500044,8.68041526 12.2500044,7.875 L12.2500044,7 C12.2529766,4.68362667 10.7375084,2.63904217 8.52039354,1.96822466 C6.30327872,1.29740716 3.90853655,2.15890562 2.62687112,4.08839467 C1.34520569,6.01788371 1.47954104,8.55932497 2.95747389,10.3429473 C4.43540674,12.1265697 6.90762487,12.7308107 9.04166667,11.83" 
158                                  id="Path" stroke="#000000" stroke-linecap="round" stroke-linejoin="round"></path> 
159                        </g> 
160                    </g> 
161                </svg> 
162                <button class="newsletter-dialog__close"> 
163                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"> 
164                        <path fill="none" d="M0 0h24v24H0z"/> 
165                        <path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/> 
166                    </svg> 
167                </button> 
168                <h2><@liferay.language key="newsletter-dialog-title" /></h2> 
169                <p><@liferay.language key="newsletter-dialog-description" /></p> 
170                <a href="<@liferay.language key="newsletter-dialog-link-url" />" target="_blank" 
171                   class="uzb-button green-full"> 
172                    <span> 
173                        <@liferay.language key="newsletter-dialog-link-label" /> 
174                    </span> 
175                    <svg class="icon icon-tabler icon-tabler-arrow-right" fill="none" height="24" stroke="currentColor" 
176                         stroke-linecap="round" stroke-linejoin="round" stroke-width="1" viewbox="0 0 24 24" width="24" 
177                         xmlns="http://www.w3.org/2000/svg"> 
178                        <path d="M0 0h24v24H0z" fill="none" stroke="none"></path> 
179                        <line x1="5" x2="19" y1="12" y2="12"></line> 
180                        <line x1="13" x2="19" y1="18" y2="12"></line> 
181                        <line x1="13" x2="19" y1="6" y2="12"></line> 
182                    </svg> 
183                </a> 
184            </div> 
185        </div> 
186    </article> 
187</section> 
188<script> 
189    hideCookieContent(); 
190</script> 

Agrégateur de contenus