diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Orchard.Localization.csproj b/src/Orchard.Web/Modules/Orchard.Localization/Orchard.Localization.csproj index 8d5412298..659768278 100644 --- a/src/Orchard.Web/Modules/Orchard.Localization/Orchard.Localization.csproj +++ b/src/Orchard.Web/Modules/Orchard.Localization/Orchard.Localization.csproj @@ -154,7 +154,7 @@ - + @@ -165,6 +165,9 @@ + + + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Services/CultureSelectorFactory.cs b/src/Orchard.Web/Modules/Orchard.Localization/Services/CultureSelectorFactory.cs index 1f2736412..a422b97ce 100644 --- a/src/Orchard.Web/Modules/Orchard.Localization/Services/CultureSelectorFactory.cs +++ b/src/Orchard.Web/Modules/Orchard.Localization/Services/CultureSelectorFactory.cs @@ -35,7 +35,7 @@ namespace Orchard.Localization.Services { if (displayedContext.ShapeMetadata.Type == "Layout" && IsActivable()) { var supportedCultures = _cultureManager.ListCultures().ToList(); if (supportedCultures.Count() > 1) { - _workContext.Layout.Header.Add(Shape.AdminUICultureSelector(SupportedCultures: supportedCultures)); + _workContext.Layout.Header.Add(Shape.AdminCultureSelector(SupportedCultures: supportedCultures)); } } }); diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Views/AdminUICultureSelector.cshtml b/src/Orchard.Web/Modules/Orchard.Localization/Views/AdminCultureSelector.cshtml similarity index 100% rename from src/Orchard.Web/Modules/Orchard.Localization/Views/AdminUICultureSelector.cshtml rename to src/Orchard.Web/Modules/Orchard.Localization/Views/AdminCultureSelector.cshtml diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Views/FrontEndCultureSelector.cshtml b/src/Orchard.Web/Modules/Orchard.Localization/Views/FrontEndCultureSelector.cshtml new file mode 100644 index 000000000..5ab0b7ba2 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Localization/Views/FrontEndCultureSelector.cshtml @@ -0,0 +1,51 @@ +@using System.Globalization +@using Orchard.Alias +@using Orchard.ContentManagement +@using Orchard.ContentManagement.Aspects +@using Orchard.Localization.Services +@{ + var localizableAspects = Enumerable.Empty(); + + var homePage = GetByPath(string.Empty); + + if (homePage != null) { + var localizationService = WorkContext.Resolve(); + localizableAspects = localizationService.GetLocalizations(homePage); + } +} +@if (localizableAspects.Any()) { +
+ +
+} +@functions{ + public IContent GetByPath(string aliasPath) { + var contentRouting = WorkContext.Resolve().Get(aliasPath); + + if (contentRouting == null) + return null; + + object id; + if (contentRouting.TryGetValue("id", out id)) { + int contentId; + if (int.TryParse(id as string, out contentId)) { + return WorkContext.Resolve().Get(contentId); + } + } + + return null; + } +} diff --git a/src/Orchard.Web/Themes/TheAdmin/Views/AdminUICultureSelector.cshtml b/src/Orchard.Web/Themes/TheAdmin/Views/AdminCultureSelector.cshtml similarity index 100% rename from src/Orchard.Web/Themes/TheAdmin/Views/AdminUICultureSelector.cshtml rename to src/Orchard.Web/Themes/TheAdmin/Views/AdminCultureSelector.cshtml diff --git a/src/Orchard.Web/Themes/Themes.csproj b/src/Orchard.Web/Themes/Themes.csproj index 5ae3cf1e6..ca6a3208a 100644 --- a/src/Orchard.Web/Themes/Themes.csproj +++ b/src/Orchard.Web/Themes/Themes.csproj @@ -170,7 +170,7 @@
- + 10.0