mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Merge branch '1.9.x' into dev
Conflicts: src/Orchard/Mvc/Html/HtmlHelperExtensions.cs src/Orchard/Mvc/MvcModule.cs src/Orchard/Mvc/Routes/RouteExtensions.cs src/Orchard/Mvc/ViewEngines/IViewEngineProvider.cs src/Orchard/Mvc/ViewEngines/Razor/RazorViewEngineProvider.cs src/Orchard/Mvc/ViewEngines/Razor/WebViewPage.cs src/Orchard/Mvc/ViewEngines/ThemeAwareness/ThemeAwareViewEngine.cs src/Orchard/Mvc/ViewPage.cs src/Orchard/Mvc/ViewUserControl.cs src/Orchard/Orchard.Framework.csproj src/Orchard/Recipes/Models/Recipe.cs src/Orchard/Recipes/Models/RecipeJournal.cs src/Orchard/Recipes/Models/RecipeStep.cs src/Orchard/Recipes/Services/IRecipeHarvester.cs src/Orchard/Recipes/Services/IRecipeJournal.cs src/Orchard/Recipes/Services/IRecipeParser.cs src/Orchard/Security/IMembershipService.cs src/Orchard/Security/Providers/FormsAuthenticationService.cs src/Orchard/Security/SecurityFilter.cs src/Orchard/Tasks/BackgroundService.cs src/Orchard/UI/Notify/NotifyFilter.cs src/Orchard/UI/Resources/MetaEntry.cs src/Orchard/Utility/Extensions/StringExtensions.cs src/Orchard/Validation/Argument.cs src/Orchard/Validation/JetBrains.Annotations.cs src/Orchard/WebApi/DefaultOrchardWebApiHttpHttpControllerActivator.cs src/Orchard/WorkContext.cs src/Tools/Orchard/HostContext/CommandHostContextProvider.cs
This commit is contained in:
@@ -33,7 +33,7 @@ namespace Orchard.Layouts.Services {
|
||||
var drivers = GetFieldDrivers(field.FieldDefinition.Name);
|
||||
|
||||
drivers.Invoke(driver => {
|
||||
var result = driver.BuildDisplayShape(context);
|
||||
var result = Filter(driver.BuildDisplayShape(context), field);
|
||||
if (result != null)
|
||||
result.Apply(context);
|
||||
}, Logger);
|
||||
@@ -67,6 +67,21 @@ namespace Orchard.Layouts.Services {
|
||||
return context.Shape;
|
||||
}
|
||||
|
||||
private DriverResult Filter(DriverResult driverResult, ContentField field) {
|
||||
DriverResult result = null;
|
||||
var combinedResult = driverResult as CombinedResult;
|
||||
var contentShapeResult = driverResult as ContentShapeResult;
|
||||
|
||||
if (combinedResult != null) {
|
||||
result = combinedResult.GetResults().SingleOrDefault(x => x.ContentField != null && x.ContentField.Name == field.Name);
|
||||
}
|
||||
else if (contentShapeResult != null) {
|
||||
result = contentShapeResult.ContentField != null && contentShapeResult.ContentField.Name == field.Name ? contentShapeResult : driverResult;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private IEnumerable<IContentFieldDriver> GetFieldDrivers(string fieldName) {
|
||||
return _contentFieldDrivers.Where(x => x.GetType().BaseType.GenericTypeArguments[0].Name == fieldName);
|
||||
}
|
||||
|
Reference in New Issue
Block a user