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
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
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
-
... ... @@ -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 +