I'm trying to render a tree structure using VLT, by indenting the rendering depending on the level it's on.
I tried to use a recursive macro which passes on the $indentLevel variable (see code below). However, instead of remembering the "original" $indentLevel, it just continues to increment. I thought that the foreach would fallback to the previous value upon its completion, but apparently not. Is there anyway I can make the $indentLevel variable local to a single loop?
Thanks
#macro(renderChildItems $item $indentLevel) #set($childItems = $transaction.workItems().search().query("linkedWorkItems:parent=$item.fields.id.get AND NOT status:obsolete AND type:(design_decision system_requirement)").sort("id")) #foreach($child in $childItems) <tr> <td style="padding-left:$indentLevel$px"> $child.render.withTitle.withLinks.openLinksInNewWindow() </td> </tr> #set($indentLevelNew = $indentLevels + $indentSizeInt) #renderChildItems($child $indentLevelNew) #end #end