public NewsPromoSectionViewModel GetRelatedNews() { var contextItem = RenderingContext.Current.Rendering.Item; var vm = new NewsPromoSectionViewModel(); // TODO: add to constants or retrieve from settings/localization, or retrieve from field if (!string.IsNullOrEmpty(contextItem[Templates.NewsArticle.Fields.NewsListPage])) { vm.DetailsPage.Url = contextItem.LinkFieldUrl(Templates.NewsArticle.Fields.NewsListPage); vm.DetailsPage.Text = contextItem.LinkFieldText(Templates.NewsArticle.Fields.NewsListPage); vm.DetailsPage.Target = contextItem.LinkFieldTarget(Templates.NewsArticle.Fields.NewsListPage); } var articleIds = contextItem[Templates.NewsArticle.Fields.RelatedArticles]?.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (var articleId in articleIds) { try { var article = context.Database.GetItem(articleId); if (article != null) { var model = new NewsListModel(article); vm.Articles.Add(model); } } catch (Exception) { // TODO: log error } } return(vm); }
public NewsPromoSectionViewModel GetNewsPromos() { var contextItem = RenderingContext.Current.Rendering.Item; var vm = new NewsPromoSectionViewModel(); vm.Title = contextItem[Templates.ExpertAdviceGroup.Fields.Title]; LinkField lnk = contextItem.Fields[Templates.ExpertAdviceGroup.Fields.ListPage]; vm.DetailsPage.Text = lnk.Text; vm.DetailsPage.Url = lnk.GetFriendlyUrl(); var articleIds = contextItem[Templates.ExpertAdviceGroup.Fields.Articles]?.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (var articleId in articleIds) { try { var article = context.Database.GetItem(articleId); if (article != null) { var model = new NewsListModel(article); vm.Articles.Add(model); } } catch (Exception) { // TODO: Log error } } return(vm); }
private NewsPromoSectionViewModel GetNewsSection(int page = 1, int pageSize = 3, List <string> filters = null, List <string> types = null) { var vm = new NewsPromoSectionViewModel(); for (var i = 0; i < pageSize; i++) { var model = new NewsListModel(); model.Title = $"News Item {i + 1}"; model.Summary = "Lorem ipsum summary for news item in list view."; model.BackgroundImage = "https://dummyimage.com/600x400/000/fff&text=News+Image"; model.DetailsLink.Text = "Read More"; model.DetailsLink.Url = "/expert-advice"; vm.Articles.Add(model); } vm.DetailsPage = new Glass.Mapper.Sc.Fields.Link() { Text = "More", Url = "/expert-advice" }; vm.Title = "Section Title"; return(vm); }