George Mason University Antonin Scalia Law School

How to Create a Cascade Format in Velocity for Breadcrumbs

Add a system-region in the template for the breadcrumbs:

<system-region name="BREADCRUMBS"/>

Create a format in Velocity to populate the breadcrumbs:

#macro(getParentFolders, $asset)
	#set($parent = $asset.parentFolder)
	#set($count = $count + 1)
	#if($parent.name != "/" && $count < 20)
		#set($dummy = $crumbs.add(0, $parent))
		#getParentFolders($parent)
	#else 
		#break
	#end
#end
#set($count = 0)
#set($crumbs = [$currentPage])
#getParentFolders($currentPage)

#set($x = $crumbs.size() - 1)
#if($currentPage.name == "index")
	#set($dummy = $crumbs.remove($x))
#end
#if($currentPagePath != "index")
	Home
#else 
	Home
#end
#foreach($crumb in $crumbs)
	#set($link = $crumb.link + "/index")
	#set($title = $crumb.metadata.title)
	#if($foreach.hasNext)
		>> $_EscapeTool.xml($title)
	#else 
		>> $_EscapeTool.xml($title)
	#end
#end