{"id":1636,"date":"2025-04-22T09:40:24","date_gmt":"2025-04-22T13:40:24","guid":{"rendered":"https:\/\/sls.gmu.edu\/web\/?p=1636"},"modified":"2025-04-22T10:01:32","modified_gmt":"2025-04-22T14:01:32","slug":"how-to-create-a-cascade-format-in-velocity-for-breadcrumbs","status":"publish","type":"post","link":"https:\/\/sls.gmu.edu\/web\/2025\/04\/22\/how-to-create-a-cascade-format-in-velocity-for-breadcrumbs\/","title":{"rendered":"How to Create a Cascade Format in Velocity for Breadcrumbs"},"content":{"rendered":"<p>Add a <code>system-region<\/code> in the template for the breadcrumbs:<\/p>\n<pre><code>&lt;system-region name=\"BREADCRUMBS\"\/&gt;<\/code><\/pre>\n<p>Create a <code>format<\/code> in Velocity to populate the breadcrumbs:<\/p>\n<pre><code>#macro(getParentFolders, $asset)\r\n\t#set($parent = $asset.parentFolder)\r\n\t#set($count = $count + 1)\r\n\t#if($parent.name != \"\/\" && $count < 20)\r\n\t\t#set($dummy = $crumbs.add(0, $parent))\r\n\t\t#getParentFolders($parent)\r\n\t#else \r\n\t\t#break\r\n\t#end\r\n#end\r\n#set($count = 0)\r\n#set($crumbs = [$currentPage])\r\n#getParentFolders($currentPage)\r\n\r\n#set($x = $crumbs.size() - 1)\r\n#if($currentPage.name == \"index\")\r\n\t#set($dummy = $crumbs.remove($x))\r\n#end\r\n#if($currentPagePath != \"index\")\r\n\t<a href=\"\/index\">Home<\/a>\r\n#else \r\n\tHome\r\n#end\r\n#foreach($crumb in $crumbs)\r\n\t#set($link = $crumb.link + \"\/index\")\r\n\t#set($title = $crumb.metadata.title)\r\n\t#if($foreach.hasNext)\r\n\t\t>> <a href=\"${link}\">$_EscapeTool.xml($title)<\/a>\r\n\t#else \r\n\t\t>> $_EscapeTool.xml($title)\r\n\t#end\r\n#end<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Add a system-region in the template for the breadcrumbs: &lt;system-region name=&#8221;BREADCRUMBS&#8221;\/&gt; Create a format in Velocity to populate the breadcrumbs: #macro(getParentFolders, $asset) #set($parent = $asset.parentFolder) #set($count = $count + 1) #if($parent.name != &#8220;\/&#8221; &#038;&#038; $count < 20) #set($dummy = $crumbs.add(0, $parent)) #getParentFolders($parent) #else #break #end #end #set($count = 0) #set($crumbs = [$currentPage]) #getParentFolders($currentPage) #set($x = &hellip; <a href=\"https:\/\/sls.gmu.edu\/web\/2025\/04\/22\/how-to-create-a-cascade-format-in-velocity-for-breadcrumbs\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;How to Create a Cascade Format in Velocity for Breadcrumbs&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[11],"tags":[51],"class_list":["post-1636","post","type-post","status-publish","format-standard","hentry","category-web-development","tag-cascade"],"_links":{"self":[{"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/posts\/1636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/comments?post=1636"}],"version-history":[{"count":0,"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/posts\/1636\/revisions"}],"wp:attachment":[{"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/media?parent=1636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/categories?post=1636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sls.gmu.edu\/web\/wp-json\/wp\/v2\/tags?post=1636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}