diff --git a/src/Orchard.Web/Core/Orchard.Core.csproj b/src/Orchard.Web/Core/Orchard.Core.csproj index 5f21661a1..f74e81b86 100644 --- a/src/Orchard.Web/Core/Orchard.Core.csproj +++ b/src/Orchard.Web/Core/Orchard.Core.csproj @@ -370,6 +370,7 @@ + diff --git a/src/Orchard.Web/Core/Shapes/Views/Pager.cshtml b/src/Orchard.Web/Core/Shapes/Views/Pager.cshtml new file mode 100644 index 000000000..cfd69ab51 --- /dev/null +++ b/src/Orchard.Web/Core/Shapes/Views/Pager.cshtml @@ -0,0 +1,39 @@ +@{ + var nextText = HasText(Model.NextText) ? Model.NextText : T("Older").Text; + var previousText = HasText(Model.PreviousText) ? Model.PreviousText : T("Newer").Text; + + var routeData = new RouteValueDictionary(ViewContext.RouteData.Values); + var queryString = ViewContext.HttpContext.Request.QueryString; + if (queryString != null) { + foreach (string key in queryString.Keys) { + if (!routeData.ContainsKey(key)) { + var value = queryString[key]; + routeData[key] = queryString[key]; + } + } + } + + if (routeData.ContainsKey("id") && !HasText(routeData["id"])) { + routeData.Remove("id"); + } + + Model.Classes.Add("pager"); + Model.Classes.Add("group"); + var tag = Tag(Model, "ul"); +} +@if (Model.HasNextPage || Model.Page > 1) { + @tag.StartElement + if(Model.HasNextPage) { + routeData["page"] = Model.Page + 1; +
@T.Plural("the one result", "zero results", Model.PageOfResults.Count())
@T.Plural("the one result", "zero results", searchResults.Count())
@T.Plural("the one result", "{1} - {2} of {0} results", Model.PageOfResults.TotalItemCount, Model.PageOfResults.StartPosition, Model.PageOfResults.EndPosition)
@T.Plural("the one result", "{1} - {2} of {0} results", Model.TotalItemCount, Model.StartPosition, Model.EndPosition)