From df08df7d23042127b3891b418052ac4b6a170918 Mon Sep 17 00:00:00 2001 From: skewed Date: Tue, 8 Dec 2009 08:23:28 +0000 Subject: [PATCH] Changed blog post permalink to use new templating methods. Still need to define standard zones for a details template. --HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4043465 --- src/Orchard.Web/Content/Site.css | 6 ------ .../Controllers/BlogPostController.cs | 7 ++++++- .../Orchard.Blogs/Models/BlogPostProvider.cs | 2 +- .../Orchard.Blogs/Models/BlogProvider.cs | 2 +- .../Orchard.Blogs/Orchard.Blogs.csproj | 3 ++- .../ViewModels/BlogPostViewModel.cs | 3 +-- .../Orchard.Blogs/ViewModels/BlogViewModel.cs | 4 ---- .../Orchard.Blogs/Views/Blog/List.aspx | 2 +- .../Orchard.Blogs/Views/BlogPost/Item.aspx | 19 ++----------------- .../{Blog.ascx => BlogDetail.ascx} | 2 +- .../DisplayTemplates/BlogPostDetail.ascx | 15 +++++++++++++++ .../Models/DisplayTemplates/BlogPostList.ascx | 17 ++++------------- .../DisplayTemplates/BlogPostSummary.ascx | 2 -- 13 files changed, 34 insertions(+), 50 deletions(-) rename src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/{Blog.ascx => BlogDetail.ascx} (98%) create mode 100644 src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostDetail.ascx diff --git a/src/Orchard.Web/Content/Site.css b/src/Orchard.Web/Content/Site.css index 8d1e0a1fa..e10e1d33e 100644 --- a/src/Orchard.Web/Content/Site.css +++ b/src/Orchard.Web/Content/Site.css @@ -331,12 +331,6 @@ div#title .metadata, p.tags { font-size:95%; } -ul.blogs, ul.posts { - padding-left:0; -} -ul.blogs li, ul.posts li { - list-style-type:none; -} /* Icon buttons ----------------------------------------------------------*/ diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Controllers/BlogPostController.cs b/src/Orchard.Web/Packages/Orchard.Blogs/Controllers/BlogPostController.cs index f1ba6f5b7..055771657 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Controllers/BlogPostController.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Controllers/BlogPostController.cs @@ -52,7 +52,12 @@ namespace Orchard.Blogs.Controllers { if (post == null) return new NotFoundResult(); - return View(new BlogPostViewModel { Blog = blog, Post = post, ItemView = _contentManager.GetDisplayViewModel(post.ContentItem, null, "detail") }); + var model = new BlogPostViewModel { + Blog = blog, + BlogPost = _contentManager.GetDisplayViewModel(post, null, "Detail") + }; + + return View(model); } public ActionResult Slugify(string value) { diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPostProvider.cs b/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPostProvider.cs index 846516d2a..da2dd5210 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPostProvider.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPostProvider.cs @@ -24,7 +24,7 @@ namespace Orchard.Blogs.Models { Filters.Add(new ActivatingFilter("blogpost")); Filters.Add(new ActivatingFilter("blogpost")); Filters.Add(new StorageFilter(repository)); - Filters.Add(new ContentItemTemplates("BlogPost", "Summary")); + Filters.Add(new ContentItemTemplates("BlogPost", "Detail", "Summary")); OnLoaded((context, bp) => bp.Blog = contentManager.Get(bp.Record.Blog.Id)); diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogProvider.cs b/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogProvider.cs index d4ae99fe2..33568f271 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogProvider.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogProvider.cs @@ -15,7 +15,7 @@ namespace Orchard.Blogs.Models { Filters.Add(new ActivatingFilter("blog")); Filters.Add(new ActivatingFilter("blog")); Filters.Add(new StorageFilter(repository)); - Filters.Add(new ContentItemTemplates("Blog", "Summary")); + Filters.Add(new ContentItemTemplates("Blog", "Detail", "Summary")); } } } \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Orchard.Blogs.csproj b/src/Orchard.Web/Packages/Orchard.Blogs/Orchard.Blogs.csproj index 657bd33f3..d5ff00a2b 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Orchard.Blogs.csproj +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Orchard.Blogs.csproj @@ -110,8 +110,9 @@ + - + diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogPostViewModel.cs b/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogPostViewModel.cs index 362ef45da..59a7b8304 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogPostViewModel.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogPostViewModel.cs @@ -5,7 +5,6 @@ using Orchard.Mvc.ViewModels; namespace Orchard.Blogs.ViewModels { public class BlogPostViewModel : BaseViewModel { public Blog Blog { get; set; } - public BlogPost Post { get; set; } - public ItemDisplayViewModel ItemView { get; set; } + public ItemDisplayViewModel BlogPost { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogViewModel.cs b/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogViewModel.cs index 102352600..ba78599ae 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogViewModel.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/ViewModels/BlogViewModel.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using Orchard.Blogs.Models; using Orchard.Models.ViewModels; using Orchard.Mvc.ViewModels; @@ -6,8 +5,5 @@ using Orchard.Mvc.ViewModels; namespace Orchard.Blogs.ViewModels { public class BlogViewModel : BaseViewModel { public ItemDisplayViewModel Blog { get; set; } - - //public Blog Blog { get; set; } - //public IEnumerable> Posts { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Blog/List.aspx b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Blog/List.aspx index 7bf5e75aa..884887dfc 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Blog/List.aspx +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Blog/List.aspx @@ -9,7 +9,7 @@

Blogs

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

<% if (Model.Blogs.Count() > 0) { %> - <%=Html.UnorderedList(Model.Blogs, (b, i) => Html.DisplayForItem(b).ToHtmlString(), "blogs") %><% + <%=Html.UnorderedList(Model.Blogs, (b, i) => Html.DisplayForItem(b).ToHtmlString(), "blogs contentItems") %><% } else { %>

No blogs found.

<% 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 6e64e80f0..17ae1a40b 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Views/BlogPost/Item.aspx +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Views/BlogPost/Item.aspx @@ -1,22 +1,7 @@ <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="ViewPage" %> -<%@ Import Namespace="Orchard.Core.Common.Models"%> -<%@ Import Namespace="Orchard.Models"%> -<%@ Import Namespace="Orchard.Blogs.Extensions"%> -<%@ Import Namespace="Orchard.Blogs.ViewModels"%> -<%@ Import Namespace="Orchard.Blogs.Models"%> <%@ Import Namespace="Orchard.Mvc.Html"%> -<%@ Import Namespace="Orchard.Mvc.ViewModels"%> +<%@ Import Namespace="Orchard.Blogs.ViewModels"%> <%-- todo: (heskew) make master-less when we get into theming --%> - <%-- todo: (heskew) needs to be an h1 --%> - -

<%=Html.Encode(Model.Post.Title) %>

- - <%foreach (var display in Model.ItemView.Displays) { %> - <%=Html.DisplayFor(m=>display.Model, display.TemplateName, display.Prefix) %> - <%} %> + <%=Html.DisplayForItem(m=>m.BlogPost) %>
\ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/Blog.ascx b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogDetail.ascx similarity index 98% rename from src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/Blog.ascx rename to src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogDetail.ascx index 3008324a8..4e474e149 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/Blog.ascx +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogDetail.ascx @@ -1,8 +1,8 @@ <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl>" %> <%@ Import Namespace="Orchard.Mvc.Html"%> -<%@ Import Namespace="Orchard.Models.ViewModels"%> <%@ Import Namespace="Orchard.Blogs.Extensions"%> <%@ Import Namespace="Orchard.Blogs.Models"%> +<%@ Import Namespace="Orchard.Models.ViewModels"%>

<%=Html.Encode(Model.Item.Name) %>

<%=Html.Encode(Model.Item.Description) %>
diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostDetail.ascx b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostDetail.ascx new file mode 100644 index 000000000..bd543e0f0 --- /dev/null +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostDetail.ascx @@ -0,0 +1,15 @@ +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl>" %> +<%@ Import Namespace="Orchard.Mvc.Html"%> +<%@ Import Namespace="Orchard.Models.ViewModels"%> +<%@ Import Namespace="Orchard.Blogs.Extensions"%> +<%@ Import Namespace="Orchard.Blogs.Models"%> +<%-- todo: (heskew) needs to be an h1 --%> + +

<%=Html.Encode(Model.Item.Title)%>

+ +<%=Html.DisplayZonesAny() %> \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostList.ascx b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostList.ascx index 18143d254..7a6218032 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostList.ascx +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostList.ascx @@ -1,14 +1,5 @@ <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl>>" %> -<%@ Import Namespace="Orchard.Mvc.Html" %> -<%@ Import Namespace="Orchard.Models.ViewModels" %> -<%@ Import Namespace="Orchard.Models" %> -<%@ Import Namespace="Orchard.Blogs.Extensions" %> -<%@ Import Namespace="Orchard.Core.Common.Models" %> -<%@ Import Namespace="Orchard.Blogs.Models" %> -
    -<%foreach (var item in Model) { %> -
  • -<%= Html.DisplayForItem(item)%> -
  • -<%} %> -
+<%@ Import Namespace="Orchard.Mvc.Html"%> +<%@ Import Namespace="Orchard.Models.ViewModels"%> +<%@ Import Namespace="Orchard.Blogs.Models"%> +<%=Html.UnorderedList(Model, (bp, i) => Html.DisplayForItem(bp).ToHtmlString(), "blogPosts contentItems") %> \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostSummary.ascx b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostSummary.ascx index 14e78e96c..be5d48757 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostSummary.ascx +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostSummary.ascx @@ -1,8 +1,6 @@ <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl>" %> <%@ Import Namespace="Orchard.Models.ViewModels"%> -<%@ Import Namespace="Orchard.Models"%> <%@ Import Namespace="Orchard.Blogs.Extensions"%> -<%@ Import Namespace="Orchard.Core.Common.Models"%> <%@ Import Namespace="Orchard.Blogs.Models"%>

<%=Html.Encode(Model.Item.Title) %>