mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
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
This commit is contained in:
@@ -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
|
||||
----------------------------------------------------------*/
|
||||
|
@@ -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) {
|
||||
|
@@ -24,7 +24,7 @@ namespace Orchard.Blogs.Models {
|
||||
Filters.Add(new ActivatingFilter<RoutableAspect>("blogpost"));
|
||||
Filters.Add(new ActivatingFilter<BodyAspect>("blogpost"));
|
||||
Filters.Add(new StorageFilter<BlogPostRecord>(repository));
|
||||
Filters.Add(new ContentItemTemplates<BlogPost>("BlogPost", "Summary"));
|
||||
Filters.Add(new ContentItemTemplates<BlogPost>("BlogPost", "Detail", "Summary"));
|
||||
|
||||
OnLoaded<BlogPost>((context, bp) => bp.Blog = contentManager.Get<Blog>(bp.Record.Blog.Id));
|
||||
|
||||
|
@@ -15,7 +15,7 @@ namespace Orchard.Blogs.Models {
|
||||
Filters.Add(new ActivatingFilter<CommonAspect>("blog"));
|
||||
Filters.Add(new ActivatingFilter<RoutableAspect>("blog"));
|
||||
Filters.Add(new StorageFilter<BlogRecord>(repository));
|
||||
Filters.Add(new ContentItemTemplates<Blog>("Blog", "Summary"));
|
||||
Filters.Add(new ContentItemTemplates<Blog>("Blog", "Detail", "Summary"));
|
||||
}
|
||||
}
|
||||
}
|
@@ -110,8 +110,9 @@
|
||||
<Content Include="Views\Blog\DisplayTemplates\BlogForAdmin.ascx" />
|
||||
<Content Include="Views\Blog\List.aspx" />
|
||||
<Content Include="Views\Blog\ListForAdmin.aspx" />
|
||||
<Content Include="Views\Models\DisplayTemplates\BlogPostDetail.ascx" />
|
||||
<Content Include="Views\Models\DisplayTemplates\BlogPostSummary.ascx" />
|
||||
<Content Include="Views\Models\DisplayTemplates\Blog.ascx" />
|
||||
<Content Include="Views\Models\DisplayTemplates\BlogDetail.ascx" />
|
||||
<Content Include="Views\Models\DisplayTemplates\BlogPostList.ascx" />
|
||||
<Content Include="Views\Models\DisplayTemplates\BlogSummary.ascx" />
|
||||
<Content Include="Views\Shared\BlogPostPreview.ascx" />
|
||||
|
@@ -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> BlogPost { get; set; }
|
||||
}
|
||||
}
|
@@ -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> Blog { get; set; }
|
||||
|
||||
//public Blog Blog { get; set; }
|
||||
//public IEnumerable<ItemDisplayViewModel<BlogPost>> Posts { get; set; }
|
||||
}
|
||||
}
|
@@ -9,7 +9,7 @@
|
||||
<h2>Blogs</h2>
|
||||
<p>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.</p><%
|
||||
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 { %>
|
||||
<p>No blogs found.</p><%
|
||||
|
@@ -1,22 +1,7 @@
|
||||
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="ViewPage<BlogPostViewModel>" %>
|
||||
<%@ 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 --%>
|
||||
<asp:Content ContentPlaceHolderID="MainContent" runat="server">
|
||||
<%-- todo: (heskew) needs to be an h1 --%>
|
||||
<div class="manage"><a href="<%=Url.BlogPostEdit(Model.Blog.Slug, Model.Post.Slug) %>" class="ibutton edit">edit</a></div>
|
||||
<h2><%=Html.Encode(Model.Post.Title) %></h2>
|
||||
<div class="metadata">
|
||||
<% if (Model.Post.Creator != null) {
|
||||
%><div class="posted">Posted by <%=Html.Encode(Model.Post.Creator.UserName)%> <%=Html.PublishedWhen(Model.Post)%></div><%
|
||||
} %>
|
||||
</div>
|
||||
<%foreach (var display in Model.ItemView.Displays) { %>
|
||||
<%=Html.DisplayFor(m=>display.Model, display.TemplateName, display.Prefix) %>
|
||||
<%} %>
|
||||
<%=Html.DisplayForItem(m=>m.BlogPost) %>
|
||||
</asp:Content>
|
@@ -1,8 +1,8 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayViewModel<Blog>>" %>
|
||||
<%@ 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"%>
|
||||
<div class="manage"><a href="<%=Url.BlogEdit(Model.Item.Slug) %>" class="ibutton edit">edit</a></div>
|
||||
<h2><%=Html.Encode(Model.Item.Name) %></h2>
|
||||
<div><%=Html.Encode(Model.Item.Description) %></div>
|
@@ -0,0 +1,15 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayViewModel<BlogPost>>" %>
|
||||
<%@ 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 --%>
|
||||
<div class="manage"><a href="<%=Url.BlogPostEdit(Model.Item.Slug, Model.Item.Slug) %>" class="ibutton edit">edit</a></div>
|
||||
<h2><%=Html.Encode(Model.Item.Title)%></h2>
|
||||
<div class="metadata">
|
||||
<% if (Model.Item.Creator != null)
|
||||
{
|
||||
%><div class="posted">Posted by <%=Html.Encode(Model.Item.Creator.UserName)%> <%=Html.PublishedWhen(Model.Item)%></div><%
|
||||
} %>
|
||||
</div>
|
||||
<%=Html.DisplayZonesAny() %>
|
@@ -1,14 +1,5 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<ItemDisplayViewModel<BlogPost>>>" %>
|
||||
<%@ 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" %>
|
||||
<ul class="posts contentItems">
|
||||
<%foreach (var item in Model) { %>
|
||||
<li>
|
||||
<%= Html.DisplayForItem(item)%>
|
||||
</li>
|
||||
<%} %>
|
||||
</ul>
|
||||
<%@ 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") %>
|
@@ -1,8 +1,6 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ItemDisplayViewModel<BlogPost>>" %>
|
||||
<%@ 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"%>
|
||||
<h3><a href="<%=Url.BlogPost(Model.Item.Blog.Slug, Model.Item.Slug) %>"><%=Html.Encode(Model.Item.Title) %></a></h3>
|
||||
<div class="meta">
|
||||
|
Reference in New Issue
Block a user