protected void Page_Load(object sender, EventArgs e) { Guid topic; int page; Sitecore.Globalization.Language language; if (Sitecore.Globalization.Language.TryParse(Lang, out language)) { Sitecore.Context.SetLanguage(language, false); } if (Guid.TryParse(Topic, out topic) && int.TryParse(ResultPage, out page)) { Item item = Sitecore.Context.Database.GetItem(Sitecore.Data.ID.Parse(topic)); if (item != null && item.InheritsTemplate(TopicLandingPageItem.TemplateId)) { TopicLandingPageItem topicItem = item; bool hasMoreResults; articleListing.Articles = topicItem.GetTopicArticles(page, out hasMoreResults); phMoreResults.Visible = hasMoreResults; } } else { articleListing.Visible = false; } }
private void BindContent() { litTitle.Text = Model.ContentPage.PageTitle.Rendered; if (Model.InnerItem.Parent != null) { TopicLandingPageItem topic = Model.InnerItem.Parent; hlBreadcrumbNav.NavigateUrl = topic.GetUrl(); litPreviousLink.Text = topic.ContentPage.BasePageNEW.NavigationTitle.Rendered; } Dictionary <string, string> filters = Model.GetArticleFilters(); if (filters.Count > 0) { rptFilters.DataSource = filters; rptFilters.DataBind(); litFirstFilter.Text = filters.First().Value; } }
protected void rptTopicLanding_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.IsItem()) { TopicLandingPageItem topic = e.Item.DataItem as TopicLandingPageItem; if (topic != null) { HyperLink hlTopicLink = e.FindControlAs <HyperLink>("hlTopicLink"); Repeater rptTopicListItems = e.FindControlAs <Repeater>("rptTopicListItems"); hlTopicLink.Text = topic.ContentPage.PageTitle; hlTopicLink.NavigateUrl = topic.InnerItem.GetUrl(); IEnumerable <DefaultArticlePageItem> topicArticles = Enumerable.Empty <DefaultArticlePageItem>(); var curated = topic.GetFeaturedSectionArticles(); // Check curated first, fallback to most recent articles if (curated.Any()) { topicArticles = curated.Take(Constants.SECTION_LANDING_ARTICLES_PER_ROW).Select(x => new DefaultArticlePageItem(x)); } else { var recent = SearchHelper.GetMostRecentArticlesWithin(topic.ID, Constants.SECTION_LANDING_ARTICLES_PER_ROW); if (recent.Any()) { topicArticles = recent.Where(i => i.GetItem() != null) .Select(i => new DefaultArticlePageItem(i.GetItem())); } } if (topicArticles.Any()) { rptTopicListItems.DataSource = topicArticles; rptTopicListItems.DataBind(); } } } }