Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
        }