public List <URLDetails> GetBreadCrumb(Item CurrentItem) { List <URLDetails> BreadCrumb = new List <URLDetails>(); IBreadCrumb BreadCrumbItem = ScContext.Cast <IBreadCrumb>(Sitecore.Context.Database.GetItem(Constants.RenderingItemIDs.BreadcrumbId)); var BreadCrumbRestriction = BreadCrumbItem.SitecoreID.Split(','); if (CurrentItem != null) { URLDetails UrlObj = new URLDetails(); UrlObj.LinkName = ScContext.Cast <IBreadCrumbInfo>(CurrentItem).BreadCrumbTitle; UrlObj.LinkURL = Sitecore.Links.LinkManager.GetItemUrl(CurrentItem); BreadCrumb.Add(UrlObj); Item Parent = CurrentItem.Parent; while (!BreadCrumbRestriction.Contains(Parent.TemplateID.ToString())) { var TempItem = Parent; UrlObj = new URLDetails(); UrlObj.LinkName = ScContext.Cast <IBreadCrumbInfo>(TempItem).BreadCrumbTitle; UrlObj.LinkURL = Sitecore.Links.LinkManager.GetItemUrl(TempItem); BreadCrumb.Add(UrlObj); Parent = TempItem.Parent; } BreadCrumb.Reverse(); } return(BreadCrumb); }
public static string BreadCrumbTrail(IBreadCrumb[] trail) { StringBuilder sb = new StringBuilder(); sb.Append(@"<div id=""breadcrumb"">"); sb.Append(@"<ul>"); IBreadCrumb firstCrum = trail[0]; sb.AppendFormat(@"<li class=""current"">{0}</li>", firstCrum.Text); for (int i = 1; i < trail.Length; i++) { IBreadCrumb crumb = trail[i]; sb.AppendFormat(@"<li><a href=""{0}"">{1}</a></li>", crumb.Link, crumb.Text); } sb.Append(@"</ul>"); sb.Append(@"<span>You are in:</span>"); sb.Append(@"</div>"); return(sb.ToString()); }