Changes for page 3D Printing
Last modified by Josh McGee on 2026/01/21 13:23
From version 53.1
edited by Josh McGee
on 2025/11/19 10:52
on 2025/11/19 10:52
Change comment:
There is no comment for this version
To version 63.1
edited by Josh McGee
on 2025/11/19 11:11
on 2025/11/19 11:11
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -15,44 +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" 24 - ## (nested page, NOT WebHome of another space) 25 25 #set($parentRef = $services.model.createDocumentReference( 26 26 $wikiName, 27 - ['Areas', 'Upstairs', '3D %20Printing'],41 + ['Areas', 'Upstairs', '3D Printing'], 28 28 'WebHome' 29 29 )) 30 30 31 - # # Getthe parentdocument32 - #s et($parentDoc = $xwiki.getDocument($parentRef))45 + #set($hasResults = false) 46 + #listPrintingGuidesRecursive($parentRef) 33 33 34 - ## Optional sanity check: ensure the parent exists 35 - #if(!$parentDoc.exists()) 36 - Parent page not found: $parentRef 37 - #else 38 - ## Get its direct children 39 - #set($children = $parentDoc.getChildren()) 40 - 41 - #if(!$children || $children.isEmpty()) 42 - No subpages found under 3D Printers. 43 - #else 44 - #foreach($childRef in $children) 45 - ## Resolve each child reference to a document 46 - #set($childDoc = $xwiki.getDocument($childRef)) 47 - * [[$childDoc.getDisplayTitle()>>$childDoc]] 48 - #end 49 - #end 48 + #if(!$hasResults) 49 + No pages with "Printing Guide" in the title found under [[Areas.Upstairs.3D Printers]]. 50 50 #end 51 51 #end 52 52 53 -## Call the macro 54 54 #list3DPrintersSubpages() 55 55 {{/velocity}} 56 56 57 57 58 58 58 +