Changes for page 3D Printing

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

From version 47.1
edited by Josh McGee
on 2025/11/19 10:45
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,27 +15,44 @@
15 15  
16 16  
17 17  {{velocity}}
18 -#macro(listAreasSubpages)
19 - ## Get the parent document
20 - #set($parentDoc = $xwiki.getDocument('Areas.Upstairs.3DPrinters.WebHome'))
21 -
22 - ## Get its direct children (references)
18 +## Recursive helper: lists all descendants of $parentRef
19 +#macro(listPrintingGuidesRecursive $parentRef)
20 + #set($parentDoc = $xwiki.getDocument($parentRef))
23 23   #set($children = $parentDoc.getChildren())
24 -
25 - #if(!$children || $children.isEmpty())
26 - No subpages found under [[Areas]].
27 - #else
22 + #if($children && !$children.isEmpty())
28 28   #foreach($childRef in $children)
29 - ## Resolve the child reference to a document
30 30   #set($childDoc = $xwiki.getDocument($childRef))
31 - * [[$childDoc.getDisplayTitle()>>$childDoc]]
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)
32 32   #end
33 33   #end
34 34  #end
35 35  
36 -## Call the macro
37 -#listAreasSubpages()
37 +#macro(list3DPrintersSubpages)
38 + #set($wikiName = $xcontext.database)
39 + #set($parentRef = $services.model.createDocumentReference(
40 + $wikiName,
41 + ['Areas', 'Upstairs', '3D Printing'],
42 + 'WebHome'
43 + ))
44 +
45 + #set($hasResults = false)
46 + #listPrintingGuidesRecursive($parentRef)
47 +
48 + #if(!$hasResults)
49 + No pages with "Printing Guide" in the title found under [[Areas.Upstairs.3D Printers]].
50 + #end
51 +#end
52 +
53 +#list3DPrintersSubpages()
38 38  {{/velocity}}
39 39  
40 40  
41 41  
58 +