diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Controllers/BlogPostController.cs b/src/Orchard.Web/Packages/Orchard.Blogs/Controllers/BlogPostController.cs index afd26e580..87e9132ef 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Controllers/BlogPostController.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Controllers/BlogPostController.cs @@ -52,7 +52,7 @@ namespace Orchard.Blogs.Controllers { if (post == null) return new NotFoundResult(); - return View(new BlogPostViewModel {Blog = blog, Post = post}); + return View(new BlogPostViewModel {Blog = blog, Post = post, Displays = _contentManager.GetDisplays(post.ContentItem)}); } public ActionResult Create(string blogSlug) { @@ -62,7 +62,7 @@ namespace Orchard.Blogs.Controllers { if (blog == null) return new NotFoundResult(); - return View(new CreateBlogPostViewModel() {Blog = blog}); + return View(new CreateBlogPostViewModel {Blog = blog}); } [HttpPost] diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPost.cs b/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPost.cs index db3e855ec..59e10d1e7 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPost.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPost.cs @@ -1,10 +1,11 @@ using System; +using System.Web.Routing; using Orchard.Core.Common.Models; using Orchard.Models; using Orchard.Security; namespace Orchard.Blogs.Models { - public class BlogPost : ContentPart { + public class BlogPost : ContentPart, IContentDisplayInfo { public readonly static ContentType ContentType = new ContentType { Name = "blogpost", DisplayName = "Blog Post" }; public Blog Blog { get; set; } @@ -14,5 +15,21 @@ namespace Orchard.Blogs.Models { public string Slug { get { return this.As().Slug; } } public IUser Creator { get { return this.As().OwnerField.Value; } } public DateTime? Published { get { return Record.Published; } } + + #region IContentDisplayInfo Members + + public string DisplayText { + get { return Title; } + } + + public RouteValueDictionary DisplayRouteValues() { + return new RouteValueDictionary(new { area = "Orchard.Blogs", controller = "BlogPost", action = "Item", blogSlug = Blog.Slug, postSlug = Slug }); + } + + public RouteValueDictionary EditRouteValues() { + throw new NotImplementedException(); + } + + #endregion } } \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogPostViewModel.cs b/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogPostViewModel.cs index ddae28580..746e59e66 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogPostViewModel.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogPostViewModel.cs @@ -1,9 +1,12 @@ +using System.Collections.Generic; using Orchard.Blogs.Models; using Orchard.Mvc.ViewModels; +using Orchard.UI.Models; namespace Orchard.Blogs.ViewModels { public class BlogPostViewModel : BaseViewModel { public Blog Blog { get; set; } public BlogPost Post { get; set; } + public IEnumerable Displays { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Views/BlogPost/Item.aspx b/src/Orchard.Web/Packages/Orchard.Blogs/Views/BlogPost/Item.aspx index 448ca1b7b..614347a76 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Views/BlogPost/Item.aspx +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Views/BlogPost/Item.aspx @@ -14,4 +14,8 @@
<%=Model.Post.Body %>
+ + <%foreach (var display in Model.Displays) { %> + <%=Html.DisplayFor(m=>display.Model, display.TemplateName, display.Prefix) %> + <%} %> \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Comments/Controllers/AdminController.cs b/src/Orchard.Web/Packages/Orchard.Comments/Controllers/AdminController.cs index 4cdf50eef..5086403da 100644 --- a/src/Orchard.Web/Packages/Orchard.Comments/Controllers/AdminController.cs +++ b/src/Orchard.Web/Packages/Orchard.Comments/Controllers/AdminController.cs @@ -61,7 +61,7 @@ namespace Orchard.Comments.Controllers { } catch (Exception exception) { _notifier.Error(T("Listing comments failed: " + exception.Message)); - return Index(options); + return View(new CommentsIndexViewModel()); } } diff --git a/src/Orchard.Web/Packages/Orchard.Comments/Models/CommentsHandler.cs b/src/Orchard.Web/Packages/Orchard.Comments/Models/CommentsHandler.cs index cbe520b45..23a5669dd 100644 --- a/src/Orchard.Web/Packages/Orchard.Comments/Models/CommentsHandler.cs +++ b/src/Orchard.Web/Packages/Orchard.Comments/Models/CommentsHandler.cs @@ -23,6 +23,7 @@ namespace Orchard.Comments.Models { _commentsRepository = commentsRepository; _closedCommentsRepository = closedCommentsRepository; Filters.Add(new ActivatingFilter("sandboxpage")); + Filters.Add(new ActivatingFilter("blogpost")); } protected override void GetDisplays(GetDisplaysContext context) { diff --git a/src/Orchard.Web/Packages/Orchard.Tags/Models/TagsHandler.cs b/src/Orchard.Web/Packages/Orchard.Tags/Models/TagsHandler.cs index ac4f42cdd..ae0681b79 100644 --- a/src/Orchard.Web/Packages/Orchard.Tags/Models/TagsHandler.cs +++ b/src/Orchard.Web/Packages/Orchard.Tags/Models/TagsHandler.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using Orchard.Data; using Orchard.Models; @@ -25,6 +24,7 @@ namespace Orchard.Tags.Models { _tagsRepository = tagsRepository; _tagsContentItemsRepository = tagsContentItemsRepository; Filters.Add(new ActivatingFilter("sandboxpage")); + Filters.Add(new ActivatingFilter("blogpost")); OnGetDisplays((context, part) => { context.Displays.Add(new ModelTemplate(context.ContentItem.Get()) { Position = "2", TemplateName = "HasTagsList" });