mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-26 12:03:16 +08:00
Content picker localization culture dropdown (#7388)
This commit is contained in:
committed by
Sébastien Ros
parent
f697fbb06a
commit
4584da9214
@@ -12,6 +12,7 @@ using Orchard.Core.Contents.Settings;
|
||||
using Orchard.Core.Contents.ViewModels;
|
||||
using Orchard.DisplayManagement;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Localization.Services;
|
||||
using Orchard.Mvc;
|
||||
using Orchard.Settings;
|
||||
using Orchard.Themes;
|
||||
@@ -22,16 +23,22 @@ namespace Orchard.ContentPicker.Controllers {
|
||||
private readonly ISiteService _siteService;
|
||||
private readonly IContentDefinitionManager _contentDefinitionManager;
|
||||
private readonly INavigationManager _navigationManager;
|
||||
private readonly ICultureManager _cultureManager;
|
||||
private readonly ICultureFilter _cultureFilter;
|
||||
|
||||
public AdminController(
|
||||
IOrchardServices orchardServices,
|
||||
ISiteService siteService,
|
||||
IContentDefinitionManager contentDefinitionManager,
|
||||
INavigationManager navigationManager) {
|
||||
INavigationManager navigationManager,
|
||||
ICultureManager cultureManager,
|
||||
ICultureFilter cultureFilter) {
|
||||
_siteService = siteService;
|
||||
_contentDefinitionManager = contentDefinitionManager;
|
||||
_navigationManager = navigationManager;
|
||||
Services = orchardServices;
|
||||
_cultureManager = cultureManager;
|
||||
_cultureFilter = cultureFilter;
|
||||
|
||||
T = NullLocalizer.Instance;
|
||||
}
|
||||
@@ -123,10 +130,16 @@ namespace Orchard.ContentPicker.Controllers {
|
||||
break;
|
||||
}
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(model.Options.SelectedCulture)) {
|
||||
query = _cultureFilter.FilterCulture(query, model.Options.SelectedCulture);
|
||||
}
|
||||
|
||||
model.Options.FilterOptions = contentTypes
|
||||
.Select(ctd => new KeyValuePair<string, string>(ctd.Name, ctd.DisplayName))
|
||||
.ToList().OrderBy(kvp => kvp.Value);
|
||||
|
||||
model.Options.Cultures = _cultureManager.ListCultures();
|
||||
|
||||
var pagerShape = Services.New.Pager(pager).TotalItemCount(query.Count());
|
||||
var pageOfContentItems = query.Slice(pager.GetStartIndex(), pager.PageSize).ToList();
|
||||
var list = Services.New.List();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@using Orchard.Core.Contents.ViewModels;
|
||||
@{
|
||||
Script.Require("SelectableContentTab");
|
||||
|
||||
|
||||
var typeDisplayName = Model.TypeDisplayName;
|
||||
var pageTitle = T("Recent Content");
|
||||
|
||||
@@ -9,8 +9,10 @@
|
||||
pageTitle = T("Manage {0} Content", typeDisplayName);
|
||||
}
|
||||
|
||||
IEnumerable<string> cultures = Model.Options.Cultures;
|
||||
|
||||
Layout.Title = pageTitle;
|
||||
|
||||
|
||||
}
|
||||
|
||||
<div class="manage">
|
||||
@@ -25,6 +27,17 @@
|
||||
@Html.SelectOption((string)Model.Options.SelectedFilter, (string)filterOption.Key, (string)filterOption.Value)
|
||||
}
|
||||
</select>
|
||||
|
||||
@if (cultures.Count() > 1) {
|
||||
<label for="filterCultures" class="bulk-culture">@T("Culture")</label>
|
||||
<select id="filterCultures" name="Options.SelectedCulture">
|
||||
@Html.SelectOption((string)Model.Options.SelectedCulture, "", T("any (show all)").ToString())
|
||||
@foreach (string culture in cultures) {
|
||||
@Html.SelectOption((string)Model.Options.SelectedCulture, culture, System.Globalization.CultureInfo.GetCultureInfo(culture).DisplayName)
|
||||
}
|
||||
</select>
|
||||
}
|
||||
|
||||
<label for="orderResults" class="bulk-order">@T("Ordered by")</label>
|
||||
<select id="orderResults" name="Options.OrderBy">
|
||||
@Html.SelectOption((ContentsOrder)Model.Options.OrderBy, ContentsOrder.Created, T("recently created").ToString())
|
||||
|
||||
Reference in New Issue
Block a user