Changes for page 3D Printing
Last modified by Josh McGee on 2026/01/21 13:23
From 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
To 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
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -15,36 +15,44 @@ 15 15 16 16 17 17 {{velocity}} 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') 18 +## List all direct subpages of Areas > Upstairs > 3D Printers 19 +#macro(list3DPrintersSubpages) 20 + ## Current wiki name 21 + #set($wikiName = $xcontext.database) 24 24 25 - ## HQL:getallnon-hiddenchildren whoseparentisAreas.WebHome26 - #set ($hql=27 - "selectdoc.fullName" +28 - "from XWikiDocument doc " +29 - "wheredoc.parent= :parentand doc.hidden<> true " +30 - "orderby doc.nameasc"31 - ) 23 + ## Build a document reference for Areas.Upstairs."3D Printers" 24 + ## (nested page, NOT WebHome of another space) 25 + #set($parentRef = $services.model.createDocumentReference( 26 + $wikiName, 27 + ['Areas', 'Upstairs', '3D%20Printing'], 28 + 'WebHome' 29 + )) 32 32 33 - #set($children = $services.query.hql($hql) 34 - .bindValue('parent', $parentDocFullName) 35 - .execute()) 31 + ## Get the parent document 32 + #set($parentDoc = $xwiki.getDocument($parentRef)) 36 36 37 - #if($children.isEmpty()) 38 - No subpages found under **Areas**. 34 + ## Optional sanity check: ensure the parent exists 35 + #if(!$parentDoc.exists()) 36 + Parent page not found: $parentRef 39 39 #else 40 - #foreach($childFullName in $children) 41 - #set($childDoc = $xwiki.getDocument($childFullName)) 42 - * [[$childDoc.displayTitle>>$childDoc.getURL('view')]] 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 43 43 #end 44 44 #end 45 45 #end 46 46 47 47 ## Call the macro 48 -#list AreasSubpages()54 +#list3DPrintersSubpages() 49 49 {{/velocity}} 50 50 57 + 58 +