Changes for page 3D Printing
Last modified by Josh McGee on 2026/01/21 13:23
From version 52.1
edited by Josh McGee
on 2025/11/19 10:51
on 2025/11/19 10:51
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
-
... ... @@ -15,44 +15,36 @@ 15 15 16 16 17 17 {{velocity}} 18 -## List all direct subpages of Areas > Upstairs > 3D Printers 19 -#macro(list3DPrintersSubpages) 20 - ## Current wiki name 21 - #set($wikiName = $xcontext.database) 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') 22 22 23 - ## BuildadocumentreferenceforAreas.Upstairs."3DPrinters"24 - # # (nested page, NOT WebHome of anotherspace)25 - #set($parentRef=$services.model.createDocumentReference(26 - $wikiName,27 - ['Areas','Upstairs'],28 - '3D Printers'29 - ) )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 + ) 30 30 31 - ## Get the parent document 32 - #set($parentDoc = $xwiki.getDocument($parentRef)) 33 + #set($children = $services.query.hql($hql) 34 + .bindValue('parent', $parentDocFullName) 35 + .execute()) 33 33 34 - ## Optional sanity check: ensure the parent exists 35 - #if(!$parentDoc.exists()) 36 - Parent page not found: $parentRef 37 + #if($children.isEmpty()) 38 + No subpages found under **Areas**. 37 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 40 + #foreach($childFullName in $children) 41 + #set($childDoc = $xwiki.getDocument($childFullName)) 42 + * [[$childDoc.displayTitle>>$childDoc.getURL('view')]] 49 49 #end 50 50 #end 51 51 #end 52 52 53 53 ## Call the macro 54 -#list 3DPrintersSubpages()48 +#listAreasSubpages() 55 55 {{/velocity}} 56 56 57 - 58 -