--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-07-27 19:52:28 -07:00
4 changed files with 17 additions and 2 deletions

View File

@@ -2,6 +2,7 @@
using Orchard.ContentManagement;
using Orchard.Core.Common.Models;
using Orchard.Tasks.Indexing;
using System.Collections.Generic;
namespace Orchard.Indexing.Handlers {
/// <summary>
@@ -9,9 +10,14 @@ namespace Orchard.Indexing.Handlers {
/// is published, and to delete them when the content item is unpublished.
/// </summary>
public class CreateIndexingTaskHandler : ContentHandler {
private const string SearchIndexName = "Search";
private readonly IIndexingTaskManager _indexingTaskManager;
private readonly IEnumerable<IIndexNotifierHandler> _indexNotifierHandlers;
public CreateIndexingTaskHandler(IIndexingTaskManager indexingTaskManager) {
public CreateIndexingTaskHandler(
IIndexingTaskManager indexingTaskManager,
IEnumerable<IIndexNotifierHandler> indexNotifierHandlers
) {
_indexingTaskManager = indexingTaskManager;
OnPublishing<ContentPart<CommonPartRecord>>(CreateIndexingTask);
@@ -26,5 +32,10 @@ namespace Orchard.Indexing.Handlers {
_indexingTaskManager.CreateDeleteIndexTask(context.ContentItem);
}
private void UpdateIndex() {
foreach (var handler in _indexNotifierHandlers) {
handler.UpdateIndex(SearchIndexName);
}
}
}
}

View File

@@ -5,6 +5,7 @@ using Orchard.Search.Services;
using Orchard.Search.ViewModels;
using Orchard.Settings;
using Orchard.Search.Models;
using System.Linq;
using System;
namespace Orchard.Search.Controllers {

View File

@@ -12,6 +12,6 @@ if (!string.IsNullOrWhiteSpace(Model.Query)) {
}
}
if (Model.PageOfResults != null && Model.PageOfResults.Count() > 0) { %>
<%=Html.UnorderedList(Model.PageOfResults, (r, i) => Html.DisplayForItem(r.Content) , "search-results contentItems") %>
<%=Html.UnorderedList(Model.PageOfResults.Where(hit => hit.Content != null), (r, i) => Html.DisplayForItem(r.Content), "search-results contentItems")%>
<%=Html.Pager(Model.PageOfResults, Model.PageOfResults.PageNumber, Model.DefaultPageSize, new {q = Model.Query}) %><%
} %>

View File

@@ -385,6 +385,9 @@ namespace Orchard.ContentManagement {
}
public ContentItemViewModel<TContentPart> BuildDisplayModel<TContentPart>(TContentPart content, string displayType) where TContentPart : IContent {
if (content == null)
return null;
var displayModel = new ContentItemViewModel<TContentPart>(content);
var context = new BuildDisplayModelContext(displayModel, displayType);
foreach (var handler in Handlers) {