diff --git a/src/Orchard.Web/Modules/Orchard.Search/Filters/SearchFilter.cs b/src/Orchard.Web/Modules/Orchard.Search/Filters/SearchFilter.cs new file mode 100644 index 000000000..1808581d7 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Search/Filters/SearchFilter.cs @@ -0,0 +1,18 @@ +using System.Web.Mvc; +using Orchard.Mvc.Filters; +using Orchard.Mvc.ViewModels; +using Orchard.Search.ViewModels; + +namespace Orchard.Search.Filters { + public class SearchFilter : FilterProvider, IResultFilter { + public void OnResultExecuting(ResultExecutingContext filterContext) { + var viewModel = filterContext.Controller.ViewData.Model as BaseViewModel; + + if (viewModel != null) + viewModel.Zones.AddRenderPartial("search", "SearchForm", viewModel is SearchViewModel ? viewModel : new SearchViewModel()); + } + + public void OnResultExecuted(ResultExecutedContext filterContext) { + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj b/src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj index 52d210945..e52e98a39 100644 --- a/src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj +++ b/src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj @@ -66,6 +66,7 @@ + @@ -81,6 +82,7 @@ + diff --git a/src/Orchard.Web/Modules/Orchard.Search/Views/Search/Index.ascx b/src/Orchard.Web/Modules/Orchard.Search/Views/Search/Index.ascx index 8811982c1..82569d2ad 100644 --- a/src/Orchard.Web/Modules/Orchard.Search/Views/Search/Index.ascx +++ b/src/Orchard.Web/Modules/Orchard.Search/Views/Search/Index.ascx @@ -1,13 +1,9 @@ <%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> <%@ Import Namespace="Orchard.Mvc.Html" %><% Html.RegisterStyle("search.css"); %> -

<%=Html.TitleForPage(T("Search"))%>

<% -using(Html.BeginForm("index", "search", FormMethod.Get, new { @class = "search" })) { %> -
- <%=Html.TextBox("q", Model.Term) %> - -
<% -} +

<%=Html.TitleForPage(T("Search"))%>

+<% +Html.Zone("search"); %><% if (!string.IsNullOrWhiteSpace(Model.Term)) { %>

<%=T("{0} results", Model.Results.Count()) %>

<% diff --git a/src/Orchard.Web/Modules/Orchard.Search/Views/SearchForm.ascx b/src/Orchard.Web/Modules/Orchard.Search/Views/SearchForm.ascx new file mode 100644 index 000000000..4dd3ab4c4 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Search/Views/SearchForm.ascx @@ -0,0 +1,8 @@ +<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> +<%@ Import Namespace="Orchard.Search.ViewModels" %><% +using(Html.BeginForm("index", "search", new { area = "Orchard.Search" }, FormMethod.Get, new { @class = "search" })) { %> +
+ <%=Html.TextBox("q", Model.Term) %> + +
<% +} %> \ No newline at end of file diff --git a/src/Orchard.Web/Themes/Classic/Styles/site.css b/src/Orchard.Web/Themes/Classic/Styles/site.css index 1f1ade327..239ecd460 100644 --- a/src/Orchard.Web/Themes/Classic/Styles/site.css +++ b/src/Orchard.Web/Themes/Classic/Styles/site.css @@ -61,8 +61,14 @@ input[type="text"], #CommentText, #password, #confirmPassword { display: block; padding:3px; width:90%; - } - +} +form.search { + margin-bottom:2em; +} +.search input[type=text] { + display:inline; + width:17em; +} fieldset div {margin:1.6em 0 0 0} legend { diff --git a/src/Orchard.Web/Themes/Classic/Views/Layout.ascx b/src/Orchard.Web/Themes/Classic/Views/Layout.ascx index fe247668c..5c912c41b 100644 --- a/src/Orchard.Web/Themes/Classic/Views/Layout.ascx +++ b/src/Orchard.Web/Themes/Classic/Views/Layout.ascx @@ -33,7 +33,8 @@ <%Html.ZoneBody("content");%> <%-- End Content --%> <% Html.Include("Footer"); %>