From 9f4b2e693c98d295b9cdadd0e75afc6aabfa6999 Mon Sep 17 00:00:00 2001 From: skewed Date: Mon, 7 Dec 2009 15:50:14 +0000 Subject: [PATCH] Some work on /tags views --HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4043380 --- src/Orchard.Web/Content/Admin/css/base.css | 1 - src/Orchard.Web/Content/Site.css | 58 ++++++++++++++++++- src/Orchard.Web/Orchard.Web.csproj | 1 - .../Orchard.Blogs/Models/BlogPostProvider.cs | 4 +- .../Orchard.Blogs/Orchard.Blogs.csproj | 7 +-- .../Orchard.Blogs/Views/Admin/Create.aspx | 21 ------- .../Orchard.Blogs/Views/Admin/Index.aspx | 8 --- .../Blog/DisplayTemplates/BlogForAdmin.ascx | 2 +- .../Views/Models/BlogPost/Summary.ascx | 24 -------- .../DisplayTemplates/BlogPostSummary.ascx | 22 ------- .../Controllers/HomeController.cs | 10 ++-- .../Orchard.Tags/Views/Home/Index.aspx | 15 +++-- .../Orchard.Tags/Views/Home/Search.aspx | 11 +--- 13 files changed, 79 insertions(+), 105 deletions(-) delete mode 100644 src/Orchard.Web/Packages/Orchard.Blogs/Views/Admin/Create.aspx delete mode 100644 src/Orchard.Web/Packages/Orchard.Blogs/Views/Admin/Index.aspx delete mode 100644 src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/BlogPost/Summary.ascx delete mode 100644 src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostSummary.ascx diff --git a/src/Orchard.Web/Content/Admin/css/base.css b/src/Orchard.Web/Content/Admin/css/base.css index 126907459..b38f98749 100644 --- a/src/Orchard.Web/Content/Admin/css/base.css +++ b/src/Orchard.Web/Content/Admin/css/base.css @@ -666,7 +666,6 @@ todo: (heskew) pull out into relevant modules where appropriate width:70%; } - /* todo: (heskew) needs attention */ /* Extensions; ----------------------------------------------------------*/ diff --git a/src/Orchard.Web/Content/Site.css b/src/Orchard.Web/Content/Site.css index f45c3af97..e8cc8fdbd 100644 --- a/src/Orchard.Web/Content/Site.css +++ b/src/Orchard.Web/Content/Site.css @@ -397,4 +397,60 @@ form.comments label { form.comments .button { margin-top:15px; -} \ No newline at end of file +} + +/* Tag cloud +----------------------------------------------------------*/ +ul.tagCloud { + padding:0; +} +ul.tagCloud li { + display:inline; + list-style-type:none; + padding:5px 15px 5px 0; +} + +/* Content item lists +----------------------------------------------------------*/ +.contentItems { + background:#FFF; + margin:1.4em 0; + padding:2px; +} +.contentItems li { + background:#FFF; + border-bottom:1px solid #E0E8EF; + margin:0; + overflow:hidden; + padding:.7em 0; +} +.contentItems li.last { + border-bottom:0; +} +.contentItems li h3 { + border-bottom:0; +} +.contentItems li.first h3 { + margin-top:0; +} +.contentItems li .actions { + color:#EAE9D9; + height:auto; + margin:-1.3em 0 0; + padding:0 0 .1em; +} +.contentItems li .actions .ibutton { + margin-right:6px; +} +.contentItems li .actions .destruct .ibutton { + margin-left:8px; + margin-right:0; +} +.contentItems li:hover { background:#fafbed; } +.contentItems li:hover a.ibutton { background-position:0 0; } +.contentItems li:hover a.ibutton.remove { background-position:-20px 0; } +.contentItems li:hover a.ibutton.view { background-position:-40px 0; } +.contentItems li:hover a.ibutton.add.page { background-position:-60px 0; } +.contentItems li:hover a.ibutton.edit { background-position:-80px 0; } +.contentItems li:hover a.ibutton.publish { background-position:-100px 0; } +.contentItems li:hover a.ibutton.blog { background-position:-120px 0; } diff --git a/src/Orchard.Web/Orchard.Web.csproj b/src/Orchard.Web/Orchard.Web.csproj index e9c863f5c..c1beafbe0 100644 --- a/src/Orchard.Web/Orchard.Web.csproj +++ b/src/Orchard.Web/Orchard.Web.csproj @@ -171,7 +171,6 @@ - diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPostProvider.cs b/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPostProvider.cs index a03c80cec..c580fd23e 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPostProvider.cs +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Models/BlogPostProvider.cs @@ -4,6 +4,7 @@ using Orchard.Core.Common.Models; using Orchard.Data; using Orchard.Models; using Orchard.Models.Driver; +using Orchard.Models.ViewModels; namespace Orchard.Blogs.Models { public class BlogPostProvider : ContentProvider { @@ -17,8 +18,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", "ForList")); OnLoaded((context, bp) => bp.Blog = contentManager.Get(bp.Record.Blog.Id)); diff --git a/src/Orchard.Web/Packages/Orchard.Blogs/Orchard.Blogs.csproj b/src/Orchard.Web/Packages/Orchard.Blogs/Orchard.Blogs.csproj index fc5f429c7..5a5122de9 100644 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Orchard.Blogs.csproj +++ b/src/Orchard.Web/Packages/Orchard.Blogs/Orchard.Blogs.csproj @@ -103,14 +103,14 @@ - + - + @@ -141,9 +141,6 @@ Orchard.Users - - - -<% BlogPost model = Model.Item.As(); %> -

<%=Html.Encode(model.Title) %>

-
- <%=Html.PublishedState(model) %> - | ?? comments -
-
<%=model.Body ?? "

there's no content for this blog post

" %>
-<%--

- - Edit Post - View Post<% - if (model.Published == null) { // todo: (heskew) be smart about this and maybe have other contextual actions - including view/preview for view up there ^^ %> - Publish Post Now - <% } %> - - Remove Post -

--%> \ 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 deleted file mode 100644 index c01a1bc1a..000000000 --- a/src/Orchard.Web/Packages/Orchard.Blogs/Views/Models/DisplayTemplates/BlogPostSummary.ascx +++ /dev/null @@ -1,22 +0,0 @@ -<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl>" %> -<%@ Import Namespace="Orchard.Models"%> -<%@ Import Namespace="Orchard.Blogs.Models"%> -<%@ Import Namespace="Orchard.Models.ViewModels"%> -<%@ Import Namespace="Orchard.Blogs.Extensions"%> -<%@ Import Namespace="Orchard.Blogs.ViewModels"%> -

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

-
- <%=Html.PublishedState(Model.Item)%> - | ?? comments -
-
<%=Model.Item.Body ?? "

there's no content for this blog post

"%>
-<%--

- - Edit Post - View Post<% - if (model.Published == null) { // todo: (heskew) be smart about this and maybe have other contextual actions - including view/preview for view up there ^^ %> - Publish Post Now - <% } %> - - Remove Post -

--%> \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Tags/Controllers/HomeController.cs b/src/Orchard.Web/Packages/Orchard.Tags/Controllers/HomeController.cs index 9a586d251..ccdbfb181 100644 --- a/src/Orchard.Web/Packages/Orchard.Tags/Controllers/HomeController.cs +++ b/src/Orchard.Web/Packages/Orchard.Tags/Controllers/HomeController.cs @@ -99,14 +99,14 @@ namespace Orchard.Tags.Controllers { public ActionResult Search(string tagName) { try { - Tag tag = _tagService.GetTagByName(tagName); - var contentItems = _tagService.GetTaggedContentItems(tag.Id); - var contentViewModels = contentItems.Select( - item => _contentManager.GetDisplayViewModel(item, null, "Summary")); + var tag = _tagService.GetTagByName(tagName); + var items = + _tagService.GetTaggedContentItems(tag.Id).Select( + ic => _contentManager.GetDisplayViewModel(ic, null, "ForList")); var viewModel = new TagsSearchViewModel { TagName = tag.TagName, - Items = contentViewModels.ToList(), + Items = items.ToList() }; return View(viewModel); diff --git a/src/Orchard.Web/Packages/Orchard.Tags/Views/Home/Index.aspx b/src/Orchard.Web/Packages/Orchard.Tags/Views/Home/Index.aspx index b27024a80..8b40ba30a 100644 --- a/src/Orchard.Web/Packages/Orchard.Tags/Views/Home/Index.aspx +++ b/src/Orchard.Web/Packages/Orchard.Tags/Views/Home/Index.aspx @@ -4,9 +4,14 @@ <%-- todo: (heskew) make master-less when we get into theming --%>

Tags

- <%=Html.ValidationSummary() %> - <% foreach (var tag in Model.Tags) { %> - <%=Html.ActionLink(tag.TagName, "Search", new {tagName = tag.TagName}, new {@class="floatRight topSpacer"}) %> -   - <% } %> + <%=Html.UnorderedList( + Model.Tags, + (t, i) => Html.ActionLink( + t.TagName, + "Search", + new { tagName = t.TagName }, + new { @class = "" /* todo: (heskew) classify according to tag use */ } + ).ToHtmlString(), + "tagCloud") + %>
\ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Tags/Views/Home/Search.aspx b/src/Orchard.Web/Packages/Orchard.Tags/Views/Home/Search.aspx index d77f23b58..21e8bb624 100644 --- a/src/Orchard.Web/Packages/Orchard.Tags/Views/Home/Search.aspx +++ b/src/Orchard.Web/Packages/Orchard.Tags/Views/Home/Search.aspx @@ -4,13 +4,6 @@ <%@ Import Namespace="Orchard.Mvc.Html"%> <%-- todo: (heskew) make master-less when we get into theming --%> -

List of contents tagged with <%= Model.TagName %>

- - - <%foreach(var item in Model.Items) {%> - <%= Html.DisplayForItem(m=>item) %> - <%}%> - - <%--<%=Html.UnorderedList(Model.Items, (c, i) => Html.ItemDisplayTemplate(c, "Summary").ToHtmlString(), "posts")%>--%> - +

List of contents tagged with <%= Model.TagName %>

+ <%=Html.UnorderedList(Model.Items, (c, i) => Html.DisplayForItem(x=>c).ToHtmlString(), "contentItems") %>
\ No newline at end of file