Changes for page 3D Printing
Last modified by Josh McGee on 2026/01/21 13:23
From 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
To version 37.1
edited by Josh McGee
on 2025/11/19 10:36
on 2025/11/19 10:36
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -10,45 +10,41 @@ 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 + 13 13 {{velocity}} 14 -## Recursive helper: lists all descendants of $parentRef 15 -#macro(listPrintingGuidesRecursive $parentRef) 16 - #set($parentDoc = $xwiki.getDocument($parentRef)) 17 - #set($children = $parentDoc.getChildren()) 18 - #if($children && !$children.isEmpty()) 19 - #foreach($childRef in $children) 20 - #set($childDoc = $xwiki.getDocument($childRef)) 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) 29 - #end 30 - #end 31 -#end 18 +## 19 +## Velocity macro to list all subpages of the "Areas" page 20 +## 21 +#macro(listAreasSubpages) 22 + ## Full name of the parent document (top-level page "Areas") 23 + #set($parentDocFullName = 'Areas.WebHome') 32 32 33 -# macro(list3DPrintersSubpages)34 - #set($ wikiName=$xcontext.database)35 - #set($parentRef=$services.model.createDocumentReference(36 - $wikiName,37 - ['Areas','Upstairs','3DPrinting'],38 - 'WebHome'39 - ) )25 + ## HQL: get all non-hidden children whose parent is Areas.WebHome 26 + #set($hql = 27 + "select doc.fullName " + 28 + "from XWikiDocument doc " + 29 + "where doc.parent = :parent and doc.hidden <> true " + 30 + "order by doc.name asc" 31 + ) 40 40 41 - #set($hasResults = false) 42 - #listPrintingGuidesRecursive($parentRef) 33 + #set($children = $services.query.hql($hql) 34 + .bindValue('parent', $parentDocFullName) 35 + .execute()) 43 43 44 - #if(!$hasResults) 45 - No pages with "Printing Guide" in the title found under [[Areas.Upstairs.3D Printers]]. 37 + #if($children.isEmpty()) 38 + No subpages found under **Areas**. 39 + #else 40 + #foreach($childFullName in $children) 41 + #set($childDoc = $xwiki.getDocument($childFullName)) 42 + * [[$childDoc.displayTitle>>$childDoc.getURL('view')]] 43 + #end 46 46 #end 47 47 #end 48 48 49 -#list3DPrintersSubpages() 47 +## Call the macro 48 +#listAreasSubpages() 50 50 {{/velocity}} 51 51 52 - 53 - 54 -