Changes for page 3D Printing

Last modified by Josh McGee on 2026/01/21 13:23

From version 61.1
edited by Josh McGee
on 2025/11/19 11:02
Change comment: There is no comment for this version
To version 37.1
edited by Josh McGee
on 2025/11/19 10:36
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -15,28 +15,36 @@
15 15  
16 16  
17 17  {{velocity}}
18 -#macro(list3DPrintersSubpages)
19 - #set($wikiName = $xcontext.database)
20 - #set($parentRef = $services.model.createDocumentReference(
21 - $wikiName,
22 - ['Areas', 'Upstairs', '3D Printing'],
23 - 'WebHome'
24 - ))
25 - #set($parentDoc = $xwiki.getDocument($parentRef))
26 - #set($children = $parentDoc.getChildren())
18 +##
19 +## Velocity macro to list all subpages of the "Areas" page
20 +##
21 +#macro(listAreasSubpages)
22 + ## Full name of the parent document (top-level page "Areas")
23 + #set($parentDocFullName = 'Areas.WebHome')
27 27  
28 - #if(!$children || $children.isEmpty())
29 - No subpages found under [[Areas.Upstairs.3D Printers]].
25 + ## HQL: get all non-hidden children whose parent is Areas.WebHome
26 + #set($hql =
27 + "select doc.fullName " +
28 + "from XWikiDocument doc " +
29 + "where doc.parent = :parent and doc.hidden <> true " +
30 + "order by doc.name asc"
31 + )
32 +
33 + #set($children = $services.query.hql($hql)
34 + .bindValue('parent', $parentDocFullName)
35 + .execute())
36 +
37 + #if($children.isEmpty())
38 + No subpages found under **Areas**.
30 30   #else
31 - #foreach($childRef in $children)
32 - #set($childDoc = $xwiki.getDocument($childRef))
33 - * [[$childDoc.getDisplayTitle()>>$childDoc]]
40 + #foreach($childFullName in $children)
41 + #set($childDoc = $xwiki.getDocument($childFullName))
42 + * [[$childDoc.displayTitle>>$childDoc.getURL('view')]]
34 34   #end
35 35   #end
36 36  #end
37 37  
38 -#list3DPrintersSubpages()
47 +## Call the macro
48 +#listAreasSubpages()
39 39  {{/velocity}}
40 40  
41 -
42 -