Shifting blogs

This commit is contained in:
Sebastien Ros
2013-10-29 18:54:50 -07:00
parent 44f2d4d3aa
commit 7a88a4cb3c
9 changed files with 20 additions and 23 deletions

View File

@@ -70,7 +70,7 @@ namespace Orchard.Blogs.Controllers {
} }
_feedManager.Register(blogPart); _feedManager.Register(blogPart, _services.ContentManager.GetItemMetadata(blogPart).DisplayText);
var blogPosts = _blogPostService.Get(blogPart, pager.GetStartIndex(), pager.PageSize) var blogPosts = _blogPostService.Get(blogPart, pager.GetStartIndex(), pager.PageSize)
.Select(b => _services.ContentManager.BuildDisplay(b, "Summary")); .Select(b => _services.ContentManager.BuildDisplay(b, "Summary"));
dynamic blog = _services.ContentManager.BuildDisplay(blogPart); dynamic blog = _services.ContentManager.BuildDisplay(blogPart);

View File

@@ -56,7 +56,7 @@ namespace Orchard.Blogs.Controllers {
var list = Shape.List(); var list = Shape.List();
list.AddRange(_blogPostService.Get(blogPart, archive).Select(b => _services.ContentManager.BuildDisplay(b, "Summary"))); list.AddRange(_blogPostService.Get(blogPart, archive).Select(b => _services.ContentManager.BuildDisplay(b, "Summary")));
_feedManager.Register(blogPart); _feedManager.Register(blogPart, _services.ContentManager.GetItemMetadata(blogPart).DisplayText);
var viewModel = Shape.ViewModel() var viewModel = Shape.ViewModel()
.ContentItems(list) .ContentItems(list)

View File

@@ -36,7 +36,7 @@ namespace Orchard.Blogs.Drivers {
protected override DriverResult Editor(BlogArchivesPart part, dynamic shapeHelper) { protected override DriverResult Editor(BlogArchivesPart part, dynamic shapeHelper) {
var viewModel = new BlogArchivesViewModel { var viewModel = new BlogArchivesViewModel {
BlogId = part.BlogId, BlogId = part.BlogId,
Blogs = _blogService.Get().ToList().OrderBy(b => b.Name) Blogs = _blogService.Get().ToList().OrderBy(b => _contentManager.GetItemMetadata(b).DisplayText)
}; };
return ContentShape("Parts_Blogs_BlogArchives_Edit", return ContentShape("Parts_Blogs_BlogArchives_Edit",

View File

@@ -1,6 +1,7 @@
using JetBrains.Annotations; using JetBrains.Annotations;
using Orchard.Blogs.Models; using Orchard.Blogs.Models;
using Orchard.Blogs.Extensions; using Orchard.Blogs.Extensions;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers; using Orchard.ContentManagement.Drivers;
using Orchard.Core.Feeds; using Orchard.Core.Feeds;
@@ -8,14 +9,18 @@ namespace Orchard.Blogs.Drivers {
[UsedImplicitly] [UsedImplicitly]
public class BlogPostPartDriver : ContentPartDriver<BlogPostPart> { public class BlogPostPartDriver : ContentPartDriver<BlogPostPart> {
private readonly IFeedManager _feedManager; private readonly IFeedManager _feedManager;
private readonly IContentManager _contentManager;
public BlogPostPartDriver(IFeedManager feedManager) { public BlogPostPartDriver(IFeedManager feedManager, IContentManager contentManager) {
_feedManager = feedManager; _feedManager = feedManager;
_contentManager = contentManager;
} }
protected override DriverResult Display(BlogPostPart part, string displayType, dynamic shapeHelper) { protected override DriverResult Display(BlogPostPart part, string displayType, dynamic shapeHelper) {
if (displayType.StartsWith("Detail")) if (displayType.StartsWith("Detail")) {
_feedManager.Register(part.BlogPart); var blogTitle = _contentManager.GetItemMetadata(part.BlogPart).DisplayText;
_feedManager.Register(part.BlogPart, blogTitle);
}
return null; return null;
} }

View File

@@ -47,7 +47,7 @@ namespace Orchard.Blogs.Drivers {
var viewModel = new RecentBlogPostsViewModel { var viewModel = new RecentBlogPostsViewModel {
Count = part.Count, Count = part.Count,
BlogId = part.BlogId, BlogId = part.BlogId,
Blogs = _blogService.Get().ToList().OrderBy(b => b.Name) Blogs = _blogService.Get().ToList().OrderBy(b => _contentManager.GetItemMetadata(b).DisplayText)
}; };
return ContentShape("Parts_Blogs_RecentBlogPosts_Edit", return ContentShape("Parts_Blogs_RecentBlogPosts_Edit",

View File

@@ -4,9 +4,9 @@ using Orchard.Core.Feeds;
namespace Orchard.Blogs.Extensions { namespace Orchard.Blogs.Extensions {
public static class FeedManagerExtensions { public static class FeedManagerExtensions {
public static void Register(this IFeedManager feedManager, BlogPart blogPart) { public static void Register(this IFeedManager feedManager, BlogPart blogPart, string blogTitle) {
feedManager.Register(blogPart.Name, "rss", new RouteValueDictionary { { "containerid", blogPart.Id } }); feedManager.Register(blogTitle, "rss", new RouteValueDictionary { { "containerid", blogPart.Id } });
feedManager.Register(blogPart.Name + " - Comments", "rss", new RouteValueDictionary { { "commentedoncontainer", blogPart.Id } }); feedManager.Register(blogTitle + " - Comments", "rss", new RouteValueDictionary { { "commentedoncontainer", blogPart.Id } });
} }
} }
} }

View File

@@ -1,22 +1,15 @@
using Orchard.ContentManagement; using Orchard.ContentManagement;
using Orchard.ContentManagement.Aspects;
namespace Orchard.Blogs.Models { namespace Orchard.Blogs.Models {
public class BlogPart : ContentPart<BlogPartRecord> { public class BlogPart : ContentPart<BlogPartRecord> {
// TODO: (PH) This isn't referenced in many places but should use ContentItemMetadata instead?
public string Name {
get { return this.As<ITitleAspect>().Title; }
}
public string Description { public string Description {
get { return Record.Description; } get { return Retrieve(x => x.Description); }
set { Record.Description = value; } set { Store(x => x.Description, value); }
} }
public int PostCount { public int PostCount {
get { return Record.PostCount; } get { return Retrieve(x => x.PostCount); }
set { Record.PostCount = value; } set { Store(x => x.PostCount, value); }
} }
} }
} }

View File

@@ -126,7 +126,6 @@ namespace Orchard.Blogs.Services {
_contentManager.Query(versionOptions, "BlogPost") _contentManager.Query(versionOptions, "BlogPost")
.Join<CommonPartRecord>().Where( .Join<CommonPartRecord>().Where(
cr => cr.Container == blog.Record.ContentItemRecord).OrderByDescending(cr => cr.CreatedUtc) cr => cr.Container == blog.Record.ContentItemRecord).OrderByDescending(cr => cr.CreatedUtc)
.WithQueryHintsFor("BlogPost")
; ;
} }
} }

View File

@@ -132,7 +132,7 @@ namespace Orchard.Blogs.Services {
array.Add(new XRpcStruct() array.Add(new XRpcStruct()
.Set("url", urlHelper.AbsoluteAction(() => urlHelper.Blog(blogPart))) .Set("url", urlHelper.AbsoluteAction(() => urlHelper.Blog(blogPart)))
.Set("blogid", blog.Id) .Set("blogid", blog.Id)
.Set("blogName", blog.Name)); .Set("blogName", _contentManager.GetItemMetadata(blog).DisplayText));
} }
} }