1<!-- Gerelateerd Kennissnack.ftl 30-01-2024 -->
2<style>
3 @media screen and (min-width: 480px) {
4 .ounl-corp .grid .grid__item:nth-child(7),
5 .ounl-corp .grid .grid__item:nth-child(8) {
6 display: block;
7 }
8
9 .ounl-corp .grid .grid__item:nth-child(9),
10 .ounl-corp .grid .grid__item:nth-child(11) {
11 margin-left: 0;
12 }
13
14 .ounl-corp .grid .grid__item:nth-child(8),
15 .ounl-corp .grid .grid__item:nth-child(10),
16 .ounl-corp .grid .grid__item:nth-child(12) {
17 margin-right: 0;
18 }
19 }
20
21 @media screen and (min-width: 768px) {
22 .ounl-corp .grid .grid__item.pos-8,
23 .ounl-corp .grid .grid__item.pos-9,
24 .ounl-corp .grid .grid__item.pos-10,
25 .ounl-corp .grid .grid__item.pos-11 {
26 margin-left: 1%;
27 margin-right: 1%;
28 }
29
30 .ounl-corp .grid .grid__item.pos-11 {
31 margin-right: 0;
32 }
33
34 .ounl-corp .grid .grid__item.pos-8 {
35 margin-left: 0;
36 }
37 }
38</style>
39
40<#if entries?has_content >
41
42 <section class="container-fluid section padding-bottom" style="background-color: transparent;">
43 <div class="layout__content-container">
44
45 <div class="row">
46 <div class="col-xs-12">
47 <div class="section-title">
48 <h4 style="background-color: rgb(239, 239, 239);">
49 Ook interessant
50 </h4>
51 <div class="section-title__stripe"></div>
52 </div>
53 </div>
54 </div>
55 <div class="grid">
56 <div class="grid__container">
57 <div class="grid__row">
58 <#assign counter = 0>
59 <#list entries as entry>
60 <#assign renderer = entry.getAssetRenderer()>
61 <#assign className = renderer.getClassName()>
62
63 <#if className == "com.liferay.journal.model.JournalArticle">
64 <#-- ## ARTICLE PROPERTIES-->
65 <#assign image_url = "">
66 <#assign picUrel = "">
67
68 <#assign article = renderer.getArticle()>
69 <#assign articlePrimKey = article.getResourcePrimKey()>
70
71 <#-- ## category name-->
72 <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
73 <#assign vocLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
74 <#assign dlfileEntryLocalServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
75
76 <#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
77 <#assign themeDisplay = serviceContext.getThemeDisplay() />
78 <#assign company = themeDisplay.getCompany()>
79 <#assign companyId = company.getGroup().getGroupId()>
80 <#assign vocabulary = vocLocalService.getGroupVocabulary(companyId,"Wetenschapsgebied")>
81 <#assign vocabularyId = vocabulary.vocabularyId>
82 <#assign categories = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey)) >
83 <#assign categoryName = "corporate" >
84 <#list categories as category>
85 <#if category.vocabularyId == vocabularyId>
86 <#assign categoryName = category.getName() >
87 <#assign categoryName = categoryName?replace("\\W", " ", "r")?replace("\\s+", "-", "r")?lower_case >
88 <#if categoryName?starts_with("-")>
89 <#assign categoryName = categoryName.substring(1)>
90 </#if>
91 </#if>
92 </#list>
93
94 <#-- ## structure name-->
95 <#assign ClassNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") />
96 <#assign journalStructureService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") />
97
98 <#assign structureName = "">
99 <#assign articleObject = renderer.getAssetObject() />
100 <#assign structure = articleObject.getDDMStructure() />
101 <#assign structureKey = articleObject.getDDMStructureKey() />
102
103 <#assign classNameId = ClassNameLocalService.getClassNameId(className) />
104 <#assign article = renderer.getArticle() />
105 <#assign groupId = articleObject.getGroupId()>
106 <#assign articleStructure = journalStructureService.getStructure(groupId, classNameId, structureKey, true) />
107 <#assign structureName = articleStructure.getName(locale, true)/>
108
109 <#-- ## tag name-->
110 <#assign tagLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService")>
111 <#assign tagNames = tagLocalService.getTagNames("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))>
112 <#assign SpotlightBreed = false>
113 <#list tagNames as name>
114 <#assign name2 = name>
115 <#assign name2 = name2?replace("\\W", " ", "r")?replace("\\s+", "-", "r")?lower_case>
116 <#if name2 == "spotlight-breed">
117 <#assign SpotlightBreed = true>
118 </#if>
119 </#list>
120
121 <#-- ## content view url-->
122 <#assign readMore = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry)>
123 <#if assetLinkBehavior != "showFullContent">
124 <#assign readMore = entry.getAssetRenderer().getURLViewInContext(renderRequest, renderResponse, readMore)>
125 </#if>
126
127 <#-- ## WEBCONTENT VARIABLES-->
128
129 <#assign document = saxReaderUtil.read(article.getContentByLocale(locale.toString()))>
130 <#assign rootElement = document.getRootElement()>
131 <#-- ## circumvent bug with date field in ADT-->
132 <#if !structureName?has_content>
133 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Structuur_Naam']")>
134 <#assign structureName = xPathSelector.selectSingleNode(rootElement).getStringValue()>
135 <#assign structureName = structureName?replace("\\s+", "", "r")>
136 </#if>
137
138 <#if structureName == "Spotlight link">
139 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Link']")>
140 <#assign readMore = xPathSelector.selectSingleNode(rootElement).getStringValue()>
141 </#if>
142
143 <#-- ## read general elements from webcontent-->
144 <#assign image_url = "">
145 <#assign picURL = "">
146 <#assign Sfeerbeeld = "">
147 <#assign sfeerbeeld_json = "">
148
149 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Sfeerbeeld']")>
150 <#if (xPathSelector.selectSingleNode(rootElement).getStringValue())??>
151 <#assign sfeerbeeld_json = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim>
152 <#if sfeerbeeld_json?? && sfeerbeeld_json != "">
153 <#assign Sfeerbeeld = jsonFactoryUtil.createJSONObject(sfeerbeeld_json)>
154 </#if>
155 <#else>
156 <#assign Sfeerbeeld = "">
157 </#if>
158
159
160 <#assign SfeerbeeldCheck = 0>
161 <#if Sfeerbeeld != "">
162 <#assign dlfileEntry = dlfileEntryLocalServiceUtil.getDLFileEntryByUuidAndGroupId(Sfeerbeeld.get("uuid"), getterUtil.getLong(Sfeerbeeld.get("groupId")))>
163 <#assign folderId = dlfileEntry.getFolderId()>
164 <#assign sfeerbeeldUrl = "/documents/" + Sfeerbeeld.get("groupId") + "/" + folderId + "/" + httpUtil.encodeURL(htmlUtil.unescape(Sfeerbeeld.get("title")))>
165 <#assign picURL = sfeerbeeldUrl>
166
167 <#if picURL != "">
168 <#assign parts = picURL?split('\\.', "r")>
169 <#assign partssplit = parts[0]>
170 <#if partssplit?contains('_head_large') >
171 <#assign firstpart = partssplit?split('_head_large')>
172 <#elseif partssplit?contains('_head_small') >
173 <#assign firstpart = partssplit?split('_head_small')>
174 <#else>
175 <#assign firstpart = partssplit>
176 </#if>
177 <#assign firstpartsplit = firstpart[0]>
178 <#if SpotlightBreed == true>
179 <#assign image_url = "" + firstpartsplit + "_tile_wide.jpg">
180 <#else>
181 <#assign image_url = "" + firstpartsplit + "_tile_narrow.jpg">
182 </#if>
183 <#assign SfeerbeeldCheck = 1>
184 </#if>
185 </#if>
186 <#assign SfeerStijl = "background-image: url(${image_url}); background-repeat: no-repeat; background-position: right; background-size: cover;">
187
188 <#-- ## set tile class-->
189 <#assign tileClass = " tile--color">
190 <#if (Sfeerbeeld?has_content)>
191 <#assign tileClass =" tile--image ">
192 </#if>
193
194 <#-- ## specific elements from webcontent-->
195 <#assign Title = "">
196 <#assign Title = article.getTitle(locale)>
197
198
199 <#assign Datum = "">
200 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Datum_Activiteit']")>
201 <#if (xPathSelector.selectSingleNode(rootElement).getStringValue())??>
202 <#assign Datum = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim>
203 <#assign Datum = dateUtil.parseDate("yyyy-MM-dd", Datum, locale)>
204 </#if>
205
206 <#assign structureType = "">
207 <#if Datum?has_content>
208 <#assign structureName = "Agenda">
209 <#assign DagNaam = dateUtil.getDate(Datum, "EEEE", locale)>
210 <#assign DagNummer = dateUtil.getDate(Datum, "dd", locale)>
211 <#assign Maand = dateUtil.getDate(Datum, "MMM", locale)>
212 </#if>
213
214 <#assign label_tonen = true>
215 <#if structureName == "Agenda">
216 <#assign Sfeerbeeld = "${themeDisplay.getPathThemeImages()}/webcontent/agenda_icon.png">
217 <#assign SfeerStijl = "background-image: url(${Sfeerbeeld}; background-repeat: no-repeat; background-position: right center;">
218 <#assign structureType = " tile--agenda ">
219 <#assign tileClass = " tile--color">
220 <#elseif structureName == "Algemeen">
221 <#assign structureType = " tile--generic ">
222 <#elseif structureName == "Nieuws">
223 <#assign structureType = " tile--news ">
224 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Spotlight_Label']")>
225 <#assign label_verbergen = getterUtil.getBoolean(xPathSelector.selectSingleNode(rootElement).getStringValue())>
226 <#if label_verbergen>
227 <#assign label_tonen = false>
228 </#if>
229 <#elseif structureName == "Opleiding">
230 <#assign Sfeerbeeld = "${themeDisplay.getPathThemeImages()}/webcontent/education_icon.png">
231 <#assign SfeerStijl = "background-image: url(${Sfeerbeeld}; background-repeat: no-repeat; background-position: right center;">
232 <#assign structureType = " tile--eduction ">
233 </#if>
234
235 <#assign colorKey = " color--corporate ">
236 <#if categoryName == "cultuurwetenschappen">
237 <#assign colorKey = " color--cw ">
238 <#elseif categoryName == "natuurwetenschappen">
239 <#assign colorKey = " color--nw ">
240 <#elseif categoryName == "informatica-en-informatiekunde">
241 <#assign colorKey = " color--inf ">
242 <#elseif categoryName == "managementwetenschappen">
243 <#assign colorKey = " color--mw ">
244 <#elseif categoryName == "onderwijswetenschappen">
245 <#assign colorKey = " color--ow ">
246 <#elseif categoryName == "psychologie">
247 <#assign colorKey = " color--psy ">
248 <#elseif categoryName == "rechtswetenschappen">
249 <#assign colorKey = " color--rw ">
250 <#elseif categoryName == "gezondheidswetenschappen">
251 <#assign colorKey = " color--gw ">
252 </#if>
253
254 <#-- ## PLACEMENT LOGIC-->
255
256 <#assign next = counter + 1>
257 <#assign widthException = "">
258
259 <#if SpotlightBreed>
260 <#if !(counter == 3 || counter == 7 || counter == 9 || counter == 11)>
261 <#assign widthException = " grid__item--double ">
262 <#assign next = counter + 2>
263 </#if>
264 </#if>
265
266 <#-- ##Specific spotlightlabel-->
267 <#assign hasExtraLabel = false>
268 <#assign vocabularySoort = vocLocalService.getGroupVocabulary(companyId, "Soort")>
269 <#assign vocabularyIdSoort = vocabularySoort.vocabularyId>
270 <#assign vocabularySpotlight = vocLocalService.getGroupVocabulary(companyId, "SpotlightLabel")>
271 <#assign vocabularyIdSpotlight = vocabularySpotlight.vocabularyId>
272 <#assign spotlightLabel = structureName>
273 <#list categories as category>
274 <#if category.vocabularyId == vocabularyIdSoort>
275 <#assign spotlightLabel = category.getName()>
276 <#assign hasExtraLabel = true>
277 <#elseif category.vocabularyId == vocabularyIdSpotlight>
278 <#assign spotlightLabel = category.getName()>
279 <#assign hasExtraLabel = true>
280 </#if>
281 </#list>
282
283 <a id="Spotlight_${entry.getEntryId()}" href="${readMore}"
284 class="grid__item ${widthException} ${structureType} ${tileClass} ${colorKey} pos-${counter}"
285 style="
286 <#if Sfeerbeeld != ''>
287 ${SfeerStijl}
288 </#if>
289 ">
290
291 <div class="overlay">
292 <#if SfeerbeeldCheck == 1 && structureName != "Agenda">
293 <img src="${image_url}" style="display:none"
294 onError="backgroundReplace('Spotlight_${entry.getEntryId()}', '${picURL}');"/>
295 </#if>
296 </div>
297
298 <#if structureName == "Agenda">
299 <div class="grid__agenda__date">
300 <div class="grid__agenda__date__left">
301 <div class="grid__agenda__date--day">${DagNummer}</div>
302 </div>
303 <div class="grid__agenda__date__right">
304 <div class="grid__agenda__date--weekday">${DagNaam}</div>
305 <div class="grid__agenda__date--month">${Maand}</div>
306 </div>
307 </div>
308 </#if>
309 <div class="grid__item__container">
310 <div class="category">
311 <span class="category__box">
312 <#if structureName == "Agenda" || structureName == "Nieuws" && label_tonen || hasExtraLabel>
313 <#assign stripeStyling = "">
314 <#if spotlightLabel?length gt 9>
315 <#assign stripeStyling = "max-width:35px;">
316 </#if>
317 <span class="category__stripe--left" style="${stripeStyling}"></span>
318 <span class="category__block">${spotlightLabel}</span>
319 <span class="category__stripe--right" style="${stripeStyling}"></span>
320 <#else>
321 <span class="category__stripe--right"></span>
322 </#if>
323 </span>
324 </div>
325 <div class="title">${Title}</div>
326 </div>
327 </a>
328
329 <#assign counter = next>
330 <#if counter gt 11>
331 <#break>
332 </#if>
333
334 </#if>
335 </#list>
336 </div>
337 </div>
338 </div>
339 </div>
340 </section>
341
342</#if>