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
Change comment: There is no comment for this version
To version 67.1
edited by Josh McGee
on 2026/01/21 13:23
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -10,41 +10,47 @@
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 -##
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')
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
24 24  
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 - )
33 +#macro(list3DPrintersSubpages)
34 + #set($wikiName = $xcontext.database)
35 + #set($parentRef = $services.model.createDocumentReference(
36 + $wikiName,
37 + ['Spaces', '3D Printing'],
38 + 'WebHome'
39 + ))
32 32  
33 - #set($children = $services.query.hql($hql)
34 - .bindValue('parent', $parentDocFullName)
35 - .execute())
41 + #set($hasResults = false)
42 + #listPrintingGuidesRecursive($parentRef)
36 36  
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
44 + #if(!$hasResults)
45 + No pages with "Printing Guide" in the title found under [[Areas.Upstairs.3D Printers]].
44 44   #end
45 45  #end
46 46  
47 -## Call the macro
48 -#listAreasSubpages()
49 +#list3DPrintersSubpages()
49 49  {{/velocity}}
50 50  
52 += **Troubleshooting** =
53 +
54 +{{include page="Workflows/3D Printing/Troubleshooting"/}}
55 +
56 +