#set ( $pages = $project.getClass().forName('java.util.LinkedHashMap').newInstance() )
#set ( $stack = $project.getClass().forName('java.util.LinkedList').newInstance() )
-#macro ( buildPages $item )
+#macro ( buildPages $item, $rename )
<!-- VISITING PAGE - href: $item.href / name: $item.name -->
#if ( $item.href )
#set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
#end
#end
#foreach ( $entry in $item.items )
- #buildPages ( $entry )
+ #buildPages ( $entry, $rename )
#end
#set ( $page = $stack.pop() )
#set ( $crumbs = $project.getClass().forName('java.util.LinkedList').newInstance() )
#end
#set ( $sinkhole = $page.put("crumbs", $crumbs) )
#else
+ #if ($rename)
+ <!-- RENAMING already seen PAGE: href=$currentItemHref, FROM name=$pages.get($currentItemHref).name TO name=$item.name -->
+ #set ( $sinkhole = $pages.get($currentItemHref).put("name", $item.name) )
+ #else
<!-- SKIPPING already seen PAGE: href=$currentItemHref, name=$item.name -->
+ #end
#end
#end
---
## Zuerst alle anderen Menüs verarbeiten
#if ($menu.name != $menuName)
#foreach ( $item in $menu.items )
- #buildPages ( $item )
+ #buildPages ( $item, false )
#end
#end
#end
## Durch diese Reihenfolge überschreiben Referenzen die automatisch erzeugten Einträge nicht
#if ($menu.name == $menuName)
#foreach ( $item in $menu.items )
- #buildPages ( $item )
+ #buildPages ( $item, true )
#end
#end
#end