Changes for page 3D Printing

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

From version 54.1
edited by Josh McGee
on 2025/11/19 10:53
Change comment: There is no comment for this version
To version 64.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
... ... @@ -10,32 +10,45 @@
10 10  = **Preparing To Print** =
11 11  
12 12  Follow the printing guide for your 3d printer:
13 -
14 -??? ADD SOME KIND OF TOC SUBTREE HERE ???
15 -
16 -
17 17  {{velocity}}
18 -## List all direct subpages of the page Areas.WebHome
19 -#macro(listAreasSubpages)
20 - ## Get the parent document
21 - #set($parentDoc = $xwiki.getDocument('Areas.WebHome'))
22 -
23 - ## Get its direct children (references)
14 +## Recursive helper: lists all descendants of $parentRef
15 +#macro(listPrintingGuidesRecursive $parentRef)
16 + #set($parentDoc = $xwiki.getDocument($parentRef))
24 24   #set($children = $parentDoc.getChildren())
25 -
26 - #if(!$children || $children.isEmpty())
27 - No subpages found under [[Areas]].
28 - #else
18 + #if($children && !$children.isEmpty())
29 29   #foreach($childRef in $children)
30 - ## Resolve the child reference to a document
31 31   #set($childDoc = $xwiki.getDocument($childRef))
32 - * [[$childDoc.getDisplayTitle()>>$childDoc]]
21 + #set($title = $childDoc.getDisplayTitle())
22 + ## Only show pages whose title contains "Printing Guide"
23 + #if($title && $title.indexOf('Printing Guide') != -1)
24 + #set($hasResults = true)
25 + * [[$title>>$childDoc]]
26 + #end
27 + ## Recurse into this child regardless of whether it matched
28 + #listPrintingGuidesRecursive($childRef)
33 33   #end
34 34   #end
35 35  #end
36 36  
37 -## Call the macro
38 -#listAreasSubpages()
33 +#macro(list3DPrintersSubpages)
34 + #set($wikiName = $xcontext.database)
35 + #set($parentRef = $services.model.createDocumentReference(
36 + $wikiName,
37 + ['Areas', 'Upstairs', '3D Printing'],
38 + 'WebHome'
39 + ))
40 +
41 + #set($hasResults = false)
42 + #listPrintingGuidesRecursive($parentRef)
43 +
44 + #if(!$hasResults)
45 + No pages with "Printing Guide" in the title found under [[Areas.Upstairs.3D Printers]].
46 + #end
47 +#end
48 +
49 +#list3DPrintersSubpages()
39 39  {{/velocity}}
40 40  
41 41  
53 +
54 +