Updating some views in tags

--HG--
branch : dev
This commit is contained in:
Louis DeJardin
2010-09-16 12:40:53 -07:00
parent 8aed02cee3
commit eaf946c6e4
4 changed files with 32 additions and 12 deletions

View File

@@ -3,6 +3,7 @@ using System.Linq;
using System.Web.Mvc;
using JetBrains.Annotations;
using Orchard.ContentManagement;
using Orchard.DisplayManagement;
using Orchard.Localization;
using Orchard.Logging;
using Orchard.Security;
@@ -15,10 +16,12 @@ namespace Orchard.Tags.Controllers {
public class HomeController : Controller {
private readonly ITagService _tagService;
private readonly IContentManager _contentManager;
private readonly IShapeHelperFactory _shapeHelperFactory;
public HomeController(ITagService tagService, IContentManager contentManager) {
public HomeController(ITagService tagService, IContentManager contentManager, IShapeHelperFactory shapeHelperFactory) {
_tagService = tagService;
_contentManager = contentManager;
_shapeHelperFactory = shapeHelperFactory;
T = NullLocalizer.Instance;
}
@@ -40,13 +43,15 @@ namespace Orchard.Tags.Controllers {
return RedirectToAction("Index");
}
var items =
_tagService.GetTaggedContentItems(tag.Id).Select(
ic => _contentManager.BuildDisplayModel(ic, "SummaryForSearch"));
var shape = _shapeHelperFactory.CreateHelper();
var list = shape.List();
foreach (var taggedContentItem in _tagService.GetTaggedContentItems(tag.Id)) {
list.Add(_contentManager.BuildDisplayModel(taggedContentItem, "Summary"));
}
var viewModel = new TagsSearchViewModel {
TagName = tag.TagName,
Items = (IList<IContent>) items.ToList<object>()
List = list
};
return View(viewModel);

View File

@@ -4,6 +4,6 @@ using Orchard.ContentManagement;
namespace Orchard.Tags.ViewModels {
public class TagsSearchViewModel {
public string TagName { get; set; }
public IEnumerable<IContent> Items { get; set; }
public dynamic List { get; set; }
}
}

View File

@@ -1,8 +1,17 @@
@model Orchard.Tags.Models.TagsPart
@{
var tagsHtml = new List<IHtmlString>();
foreach(var t in Model.CurrentTags) {
if (tagsHtml.Any()) {
tagsHtml.Add(new HtmlString(","));
}
tagsHtml.Add(Html.ActionLink(t.TagName, "Search", "Home", new { area = "Orchard.Tags", tagName = t.TagName }, new { }));
}
}
@if (Model.CurrentTags.Count > 0) {
@if (tagsHtml.Any()) {
<p class="tags">
<span>@T("Tags:")</span>
<%=string.Join(", ", Model.CurrentTags.Select(t => Html.ActionLink(Html.Encode(t.TagName), "Search", "Home", new { area = "Orchard.Tags", tagName = t.TagName }, new { }).ToHtmlString()).ToArray())%>
@foreach(var htmlString in tagsHtml) { @htmlString }
</p>
}
}

View File

@@ -1,5 +1,11 @@
@model Orchard.Tags.ViewModels.TagsSearchViewModel
@Html.AddTitleParts(T("Tags").ToString(), T("Contents tagged with {0}", Model.TagName).ToString());
<h1 class="page-title">@T("Contents tagged with <span>{0}</span>", Html.Encode(Model.TagName))</h1>
@Html.UnorderedList(Model.Items, (c, i) => Html.DisplayForItem(c), "taggedPosts contentItems")
@{
Html.AddTitleParts(T("Tags").ToString());
Html.AddTitleParts(T("Contents tagged with {0}", Model.TagName).ToString());
Model.List.Classes.Add("taggedPosts");
Model.List.Classes.Add("contentItems");
}
<h1 class="page-title">@T("Contents tagged with <span>{0}</span>", Model.TagName)</h1>
@Display(Model.List)