mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-12-03 12:03:51 +08:00
Merge
--HG-- branch : dev
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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}) %><%
|
||||
} %>
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user