public void NavbarController_HasChildrenOfHome_ReturnsSameNumber() { _context.GetHomeItem <IBaseItem>().Children.Returns(new List <IBaseItem> { Substitute.For <IBaseItem>(), Substitute.For <IBaseItem>(), Substitute.For <IBaseItem>() }); ViewResult result = _sut.Index() as ViewResult; var resultCollection = result.Model as IEnumerable <Models.NavElement>; resultCollection.Should().HaveCount(3); }
// GET: Navbar public ActionResult Index() { var home = _sitecoreContext.GetHomeItem <IBaseItem>(); var current = _sitecoreContext.GetCurrentItem <IBaseItem>(); List <NavElement> list = new List <NavElement>(); foreach (var child in home.Children) { list.Add(new NavElement { Text = child.Name, Href = child.Url, Active = child.Id == current.Id }); } return(View("~/Views/Navbar.cshtml", list)); }
private IEnumerable <IGeneral_Content_Page> GetPages() { var home = SitecoreContext.GetHomeItem <IHome_Page>(); var startPath = home._Path; using (var context = SearchContextFactory.Create()) { var query = context.GetQueryable <GeneralContentResult>() .Filter(j => j.TemplateId == IGeneral_Content_PageConstants.TemplateId && j.Path.StartsWith(startPath.ToLower()) && j.ExcludeFromGoogleSearch); var results = query.GetResults(); var pages = results.Hits.Select(h => SitecoreContext.GetItem <IGeneral_Content_Page>(h.Document.ItemId.Guid)).Where(a => a != null); return((!pages.Any()) ? Enumerable.Empty <IGeneral_Content_Page>() : pages); } }
public T GetHomeItem <T>(bool isLazy = false, bool inferType = false) where T : class { return(_sitecoreContext.GetHomeItem <T>(isLazy, inferType)); }
public override HomeModel GetModel() { _context = new SitecoreContext(); return(_context.GetHomeItem <HomeModel>()); }
public string GetSitemapXML_Old() { var home = SitecoreContext.GetHomeItem <IHome_Page>(); string domain = $"{HttpContext.Current.Request.Url.Scheme}://{HttpContext.Current.Request.Url.Host}"; IEnumerable <I___BasePage> items = GetAllPages(home._Path); //start xml doc XmlDocument doc = new XmlDocument(); //xml declaration XmlNode declarationNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null); doc.AppendChild(declarationNode); //urlset XmlNode urlsetNode = doc.CreateElement("urlset"); //xmlnls XmlAttribute xmlnsAttr = doc.CreateAttribute("xmlns"); xmlnsAttr.Value = Xmlns; urlsetNode.Attributes.Append(xmlnsAttr); doc.AppendChild(urlsetNode); //append an xml node for each item foreach (I___BasePage itm in items) { if (itm == null) { continue; } //create location string url = string.Empty; try { url = itm.Canonical_Link?.Url; } catch (Exception ex) { } if (string.IsNullOrEmpty(url)) { try { var articleItem = GlobalService.GetItem <IArticle>(itm._Id); if (articleItem != null) { url = "/" + articleItem.Article_Number + "/" + articleItem._Name; } else { url = itm._Url; } } catch (Exception ex) { } } if (string.IsNullOrEmpty(url)) { continue; } string pageUrl = url; if (pageUrl.StartsWith("/")) { pageUrl = $"{domain}{pageUrl}"; } //set pointer XmlNode lastNode = doc.LastChild; //create new node XmlNode urlNode = MakeNode(doc, "url"); lastNode.AppendChild(urlNode); urlNode.AppendChild(MakeNode(doc, "loc", pageUrl)); } return(doc.OuterXml); }
public T GetHomeItem <T>() where T : class { return(_sitecoreContext.GetHomeItem <T>()); }