protected void Page_Load(object sender, EventArgs e) { BlogSettings settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item); BlogPost blogPost = Sitecore.Context.Item.CreateAs <BlogPost>(); UrlOptions options = new UrlOptions(); options.AlwaysIncludeServerUrl = true; ogURL = LinkManager.GetItemUrl(blogPost.InnerItem, options); ogTitle = blogPost.Title; ogDescription = ""; if (!String.IsNullOrEmpty(blogPost.Summary)) { ogDescription = Regex.Replace(blogPost.Summary, "<.*?>", String.Empty); } else { ogDescription = Regex.Replace(XBlogHelper.Helpers.Helper.SafeSubstring(blogPost.Summary, settingsItem.DisplaySummaryLength), "<.*?>", String.Empty); } ogAuthorImage = ""; if (blogPost.Authors.Any()) { List <Sitecore.Data.ID> authorIds = new List <Sitecore.Data.ID>(); foreach (Author a in blogPost.Authors) { authorIds.Add(a.ItemId); } List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds); if (authors[0].ProfileImage != null && authors[0].ProfileImage.MediaItem != null && settingsItem.DisplayAuthorImage) { MediaUrlOptions mediaOptions = new MediaUrlOptions(); mediaOptions.AlwaysIncludeServerUrl = true; ogAuthorImage = MediaManager.GetMediaUrl(authors[0].ProfileImage.MediaItem, mediaOptions); } } }
public ActionResult OGPostMeta() { var model = new MetaModel(); Item dataSourceItem = Context.Database.GetItem(RenderingContext.Current.Rendering.DataSource); BlogSettings settingsItem = DataManager.GetBlogSettingsItem(dataSourceItem != null ? dataSourceItem : Sitecore.Context.Item); BlogPost blogPost = Context.Item.CreateAs <BlogPost>(); model.title = blogPost.Title; UrlOptions options = new UrlOptions(); options.AlwaysIncludeServerUrl = true; model.ogURL = LinkManager.GetItemUrl(blogPost.InnerItem, options); if (!String.IsNullOrEmpty(blogPost.Summary)) { model.description = Regex.Replace(blogPost.Summary, "<.*?>", String.Empty); } else { model.description = Regex.Replace(Sitecore.Feature.XBlog.Areas.XBlog.Helpers.Helper.SafeSubstring(blogPost.Summary, settingsItem.DisplaySummaryLength), "<.*?>", String.Empty); } if (blogPost.Authors.Any()) { List <Sitecore.Data.ID> authorIds = new List <Sitecore.Data.ID>(); foreach (Author a in blogPost.Authors) { authorIds.Add(a.ItemId); } List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds); if (authors[0].ProfileImage != null && authors[0].ProfileImage.MediaItem != null && settingsItem.DisplayAuthorImage) { MediaUrlOptions mediaOptions = new MediaUrlOptions(); mediaOptions.AlwaysIncludeServerUrl = true; model.image = MediaManager.GetMediaUrl(authors[0].ProfileImage.MediaItem, mediaOptions); } } return(this.View("~/Areas/XBlog/Views/XBlog/Callouts/OGPostMeta.cshtml", model)); }
protected void lvBlogPosts_ItemDataBound(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType != ListViewItemType.DataItem) { return; } BlogPost blogPost = e.Item.DataItem as BlogPost; if (blogPost == null) { return; } Text scBlogPostTitle = e.Item.FindControl("scBlogPostTitle") as Text; if (scBlogPostTitle != null) { scBlogPostTitle.Item = blogPost.InnerItem; } HyperLink hlTitle = e.Item.FindControl("hlTitle") as HyperLink; if (hlTitle != null) { hlTitle.Text = blogPost.Title; hlTitle.ToolTip = blogPost.Title; hlTitle.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(blogPost.InnerItem); } Literal scBlogPostSummary = e.Item.FindControl("scBlogPostSummary") as Literal; if (scBlogPostSummary != null) { if (!String.IsNullOrEmpty(blogPost.Summary)) { scBlogPostSummary.Text = blogPost.Summary; } else { scBlogPostSummary.Text = Sitecore.Feature.XBlog.Helpers.Helper.SafeSubstring(blogPost.Body, settingsItem.DisplaySummaryLength); } } Date dateBlogPostPublishDate = e.Item.FindControl("dateBlogPostPublishDate") as Date; if (dateBlogPostPublishDate != null) { dateBlogPostPublishDate.Item = blogPost.InnerItem; dateBlogPostPublishDate.Field = BlogPost.BlogPostPublishDateFieldId; dateBlogPostPublishDate.Format = settingsItem.BlogListingDateFormat; } if (settingsItem.DisplayCategoryOnBlogPostList && blogPost.Categories.Count > 0) { Literal litCategories = e.Item.FindControl("litCategories") as Literal; if (litCategories != null) { litCategories.Text = "<strong>" + settingsItem.BlogListingCategoryTitle + "</strong> " + CategoryManager.GetCommaSeperatedCategoryList(blogPost); } } if (settingsItem.DisplayTagsOnBlogPostList && blogPost.Tags.Count > 0) { Literal litTags = e.Item.FindControl("litTags") as Literal; if (litTags != null) { litTags.Text = "<strong>" + settingsItem.BlogListingTagTitle + "</strong> " + TagManager.GetCommaSeperatedTagList(blogPost); } } Literal litAuthor = e.Item.FindControl("litAuthor") as Literal; if (litAuthor != null && blogPost.Authors.Any()) { List <ID> authorIds = new List <Sitecore.Data.ID>(); foreach (Author a in blogPost.Authors) { authorIds.Add(a.ItemId); } List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds); string authorNames = string.Empty; foreach (Author a in authors) { authorNames += a.FullName; } litAuthor.Text = authors[0].FullName; Literal litProfileImage = e.Item.FindControl("litProfileImage") as Literal; if (litProfileImage != null && authors[0].ProfileImage != null && authors[0].ProfileImage.MediaItem != null && settingsItem.DisplayAuthorImage) { litProfileImage.Text = String.Format("<img src=\"{0}?mw={1}\" border=\"0\" />", MediaManager.GetMediaUrl(authors[0].ProfileImage.MediaItem), settingsItem.AuthorImageMaxWidth); } } HyperLink hlReadMore = e.Item.FindControl("hlReadMore") as HyperLink; if (hlReadMore != null && settingsItem.ReadMoreLinkText != "") { hlReadMore.Text = settingsItem.ReadMoreLinkText; hlReadMore.ToolTip = settingsItem.ReadMoreLinkText; hlReadMore.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(blogPost.InnerItem); } }
protected void lvBlogPosts_ItemDataBound(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType != ListViewItemType.DataItem) { return; } BlogPost blogPost = e.Item.DataItem as BlogPost; if (blogPost == null) { return; } Text scBlogPostTitle = e.Item.FindControl("scBlogPostTitle") as Text; if (scBlogPostTitle != null) { scBlogPostTitle.Item = blogPost.InnerItem; } HyperLink hlTitle = e.Item.FindControl("hlTitle") as HyperLink; if (hlTitle != null) { hlTitle.Text = blogPost.Title; hlTitle.ToolTip = blogPost.Title; hlTitle.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(blogPost.InnerItem); } Date dateBlogPostPublishDate = e.Item.FindControl("dateBlogPostPublishDate") as Date; if (dateBlogPostPublishDate != null) { dateBlogPostPublishDate.Item = blogPost.InnerItem; dateBlogPostPublishDate.Field = BlogPost.BlogPostPublishDateFieldId; dateBlogPostPublishDate.Format = settingsItem.BlogListingDateFormat; } Literal litAuthor = e.Item.FindControl("litAuthor") as Literal; if (litAuthor != null && blogPost.Authors.Any()) { List <ID> authorIds = new List <Sitecore.Data.ID>(); foreach (Author a in blogPost.Authors) { authorIds.Add(a.ItemId); } List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds); string authorNames = string.Empty; foreach (Author a in authors) { authorNames += a.FullName; } litAuthor.Text = authors[0].FullName; } }
private void LoadBlogPost() { //Context item - gets Blog Post infomration BlogPost blogPost = Sitecore.Context.Item.CreateAs <BlogPost>(); scTitle.Item = Sitecore.Context.Item; scBody.Item = Sitecore.Context.Item; dateBlogPostPublishDate.Item = Sitecore.Context.Item; UrlOptions option = new UrlOptions(); option.AlwaysIncludeServerUrl = true; //currentUrl = HttpUtility.UrlEncode(LinkManager.GetItemUrl(blogPost.InnerItem, option)); currentUrl = LinkManager.GetItemUrl(blogPost.InnerItem, option); title = HttpUtility.UrlEncode(blogPost.Title); if (settingsItem.IncludeEmailOnBlogPost) { pnlEmail.Visible = true; } if (settingsItem.IncludeFacebookOnBlogPost) { pnlFacebook.Visible = true; } if (settingsItem.IncludeGooglePlusOnBlogPost) { pnlGooglePlus.Visible = true; } if (settingsItem.IncludeLinkedinOnBlogPost) { pnlLinkedin.Visible = true; } if (settingsItem.IncludeTwitterOnBlogPost) { pnlTwitter.Visible = true; } if (dateBlogPostPublishDate != null) { dateBlogPostPublishDate.Field = BlogPost.BlogPostPublishDateFieldId; dateBlogPostPublishDate.Format = settingsItem.BlogPostDateFormat; } if (blogPost.Authors.Any()) { List <Sitecore.Data.ID> authorIds = new List <Sitecore.Data.ID>(); foreach (Author a in blogPost.Authors) { authorIds.Add(a.ItemId); } List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds); litAuthor.Text = authors[0].FullName; } litCategories.Text = CategoryManager.GetCommaSeperatedCategoryList(blogPost); litTags.Text = TagManager.GetCommaSeperatedTagList(blogPost); }