Wiki broncode van Overzicht
Laatst gewijzigd door Jeeves de Butler op 05-10-2026 05:09
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 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)) | ||
| |
5.1 | 18 | ## Zonder onderliggende pagina's is het een gewone pagina, tenzij het zelf een (nog lege) startpagina met dit overzicht is |
| 19 | #set ($icoon = 'folder') | ||
| |
1.1 | 20 | #if ($aantal == 1) |
| 21 | #set ($info = '1 pagina') | ||
| |
5.1 | 22 | #elseif ($aantal > 1) |
| 23 | #set ($info = "$aantal pagina's") | ||
| 24 | #elseif ($d.content.contains('.Code.Overzicht')) | ||
| 25 | #set ($info = "Nog geen pagina's") | ||
| |
1.1 | 26 | #else |
| |
5.1 | 27 | #set ($icoon = 'page') |
| 28 | #set ($info = "Bijgewerkt op $xwiki.formatDate($d.date, 'dd-MM-yyyy')") | ||
| |
1.1 | 29 | #end |
| |
5.1 | 30 | #set ($discard = $items.add({'titel': $d.plainTitle, 'url': $d.getURL(), 'icoon': $icoon, 'info': $info})) |
| |
1.1 | 31 | #end |
| 32 | #end | ||
| 33 | #end | ||
| 34 | ## Losse pagina's in deze ruimte | ||
| 35 | #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()) | ||
| 36 | #foreach ($p in $paginas) | ||
| 37 | #set ($d = $xwiki.getDocument($p)) | ||
| 38 | #if ($services.security.authorization.hasAccess('view', $d.documentReference)) | ||
| 39 | #set ($datum = $xwiki.formatDate($d.date, 'dd-MM-yyyy')) | ||
| 40 | #set ($discard = $items.add({'titel': $d.plainTitle, 'url': $d.getURL(), 'icoon': 'page', 'info': "Bijgewerkt op $datum"})) | ||
| 41 | #end | ||
| 42 | #end | ||
| 43 | #if ($items.isEmpty()) | ||
| 44 | (% class="wb-overzicht-leeg" %) | ||
| 45 | Hier staan nog geen pagina's. | ||
| 46 | #else | ||
| 47 | {{html clean="false"}} | ||
| 48 | <ul class="wb-overzicht"> | ||
| 49 | #foreach ($i in $sorttool.sort($items, 'titel')) | ||
| 50 | <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> | ||
| 51 | #end | ||
| 52 | </ul> | ||
| 53 | {{/html}} | ||
| 54 | #end | ||
| 55 | {{/velocity}} | ||
| 56 |