Wiki broncode van Overzicht

Version 1.1 by Jeeves de Butler on 05-10-2026 05:07

Show last authors
1 {{velocity}}
2 ## Overzicht van de pagina's direct onder de huidige pagina, als compacte kaarten.
3 ## Gebruik op een startpagina: {{include reference="<Code-ruimte>.Overzicht"/}}. Werkt met geneste pagina's:
4 ## een onderliggende ruimte telt mee via haar WebHome, een losse pagina in deze ruimte telt ook mee.
5 ## Verborgen pagina's, Code-ruimtes en pagina's waar de lezer geen leesrecht op heeft, blijven weg.
6 #set ($huidig = $doc.documentReference.lastSpaceReference)
7 #set ($huidigNaam = $services.model.serialize($huidig, 'local'))
8 #set ($items = [])
9 ## Onderliggende ruimtes (secties)
10 #set ($ruimtes = $services.query.xwql("select distinct doc.space from Document doc where doc.space like :prefix").bindValue('prefix', "${huidigNaam}.%").execute())
11 #foreach ($r in $ruimtes)
12 #set ($sr = $services.model.resolveSpace($r))
13 #if ($sr.parent.equals($huidig) && $sr.name != 'Code')
14 #set ($ref = $services.model.createDocumentReference('WebHome', $sr))
15 #set ($d = $xwiki.getDocument($ref))
16 #if (!$d.isNew() && !$d.isHidden() && $services.security.authorization.hasAccess('view', $ref))
17 #set ($aantal = $services.query.xwql("select count(doc.fullName) from Document doc where doc.hidden <> true and doc.name <> 'WebPreferences' and ((doc.space = :s and doc.name <> 'WebHome') or doc.space like :p)").bindValue('s', $r).bindValue('p', "${r}.%").execute().get(0))
18 #if ($aantal == 1)
19 #set ($info = '1 pagina')
20 #else
21 #set ($info = "$aantal pagina's")
22 #end
23 #set ($discard = $items.add({'titel': $d.plainTitle, 'url': $d.getURL(), 'icoon': 'folder', 'info': $info}))
24 #end
25 #end
26 #end
27 ## Losse pagina's in deze ruimte
28 #set ($paginas = $services.query.xwql("select doc.fullName from Document doc where doc.space = :space and doc.name not in ('WebHome', 'WebPreferences') and doc.hidden <> true").bindValue('space', $huidigNaam).execute())
29 #foreach ($p in $paginas)
30 #set ($d = $xwiki.getDocument($p))
31 #if ($services.security.authorization.hasAccess('view', $d.documentReference))
32 #set ($datum = $xwiki.formatDate($d.date, 'dd-MM-yyyy'))
33 #set ($discard = $items.add({'titel': $d.plainTitle, 'url': $d.getURL(), 'icoon': 'page', 'info': "Bijgewerkt op $datum"}))
34 #end
35 #end
36 #if ($items.isEmpty())
37 (% class="wb-overzicht-leeg" %)
38 Hier staan nog geen pagina's.
39 #else
40 {{html clean="false"}}
41 <ul class="wb-overzicht">
42 #foreach ($i in $sorttool.sort($items, 'titel'))
43 <li><a href="$escapetool.xml($i.url)"><span class="wb-overzicht-icoon">$services.icon.renderHTML($i.icoon)</span><span><strong>$escapetool.xml($i.titel)</strong><small>$escapetool.xml($i.info)</small></span></a></li>
44 #end
45 </ul>
46 {{/html}}
47 #end
48 {{/velocity}}