Changes for page 3D Printing
Last modified by Josh McGee on 2026/01/21 13:23
From version 40.1
edited by Josh McGee
on 2025/11/19 10:41
on 2025/11/19 10:41
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,28 +15,44 @@ 15 15 16 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) 18 +## Recursive helper: lists all descendants of $parentRef 19 +#macro(listPrintingGuidesRecursive $parentRef) 20 + #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 22 + #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]] 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 33 #end 34 34 #end 35 35 #end 36 36 37 -## Call the macro 38 -#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() 39 39 {{/velocity}} 40 40 41 41 42 42 58 +