Changes for page 3D Printing

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

From version 55.1
edited by Josh McGee
on 2025/11/19 10:53
Change comment: There is no comment for this version
To version 63.1
edited by Josh McGee
on 2025/11/19 11:11
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -15,37 +15,44 @@
15 15  
16 16  
17 17  {{velocity}}
18 -## List all direct subpages of Areas > Upstairs > 3D Printers
18 +## Recursive helper: lists all descendants of $parentRef
19 +#macro(listPrintingGuidesRecursive $parentRef)
20 + #set($parentDoc = $xwiki.getDocument($parentRef))
21 + #set($children = $parentDoc.getChildren())
22 + #if($children && !$children.isEmpty())
23 + #foreach($childRef in $children)
24 + #set($childDoc = $xwiki.getDocument($childRef))
25 + #set($title = $childDoc.getDisplayTitle())
26 + ## Only show pages whose title contains "Printing Guide"
27 + #if($title && $title.indexOf('Printing Guide') != -1)
28 + #set($hasResults = true)
29 + * [[$title>>$childDoc]]
30 + #end
31 + ## Recurse into this child regardless of whether it matched
32 + #listPrintingGuidesRecursive($childRef)
33 + #end
34 + #end
35 +#end
36 +
19 19  #macro(list3DPrintersSubpages)
20 - ## Current wiki name
21 21   #set($wikiName = $xcontext.database)
22 -
23 - ## Build a document reference for Areas.Upstairs."3D Printers".WebHome
24 24   #set($parentRef = $services.model.createDocumentReference(
25 25   $wikiName,
26 - ['Areas', 'Upstairs', '3D Printers'],
41 + ['Areas', 'Upstairs', '3D Printing'],
27 27   'WebHome'
28 28   ))
29 29  
30 - ## Get the parent document
31 - #set($parentDoc = $xwiki.getDocument($parentRef))
45 + #set($hasResults = false)
46 + #listPrintingGuidesRecursive($parentRef)
32 32  
33 - ## Get its direct children
34 - #set($children = $parentDoc.getChildren())
35 -
36 - #if(!$children || $children.isEmpty())
37 - No subpages found under [[Areas.Upstairs.3D Printers]].
38 - #else
39 - #foreach($childRef in $children)
40 - ## Resolve each child reference to a document
41 - #set($childDoc = $xwiki.getDocument($childRef))
42 - * [[$childDoc.getDisplayTitle()>>$childDoc]]
43 - #end
48 + #if(!$hasResults)
49 + No pages with "Printing Guide" in the title found under [[Areas.Upstairs.3D Printers]].
44 44   #end
45 45  #end
46 46  
47 -## Call the macro
48 48  #list3DPrintersSubpages()
49 49  {{/velocity}}
50 50  
51 51  
57 +
58 +