mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-22 03:37:25 +08:00
Implementation of Settings handler for recipes. Can be used to set part settings.
(Dynamic parts can be created through the metadata handler). --HG-- branch : recipe
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using System.Xml;
|
||||
using Orchard.ContentManagement.MetaData;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Logging;
|
||||
using Orchard.Recipes.Models;
|
||||
@@ -6,7 +8,12 @@ using Orchard.Recipes.Services;
|
||||
|
||||
namespace Orchard.Recipes.RecipeHandlers {
|
||||
public class SettingsRecipeHandler : IRecipeHandler {
|
||||
public SettingsRecipeHandler() {
|
||||
private readonly IContentDefinitionManager _contentDefinitionManager;
|
||||
private readonly IContentDefinitionReader _contentDefinitionReader;
|
||||
|
||||
public SettingsRecipeHandler(IContentDefinitionManager contentDefinitionManager, IContentDefinitionReader contentDefinitionReader) {
|
||||
_contentDefinitionManager = contentDefinitionManager;
|
||||
_contentDefinitionReader = contentDefinitionReader;
|
||||
Logger = NullLogger.Instance;
|
||||
T = NullLocalizer.Instance;
|
||||
}
|
||||
@@ -27,7 +34,9 @@ namespace Orchard.Recipes.RecipeHandlers {
|
||||
}
|
||||
|
||||
foreach (var element in recipeContext.RecipeStep.Step.Elements()) {
|
||||
// set part settings.
|
||||
var partElement = element;
|
||||
var partName = XmlConvert.DecodeName(element.Name.LocalName);
|
||||
_contentDefinitionManager.AlterPartDefinition(partName, alteration => _contentDefinitionReader.Merge(partElement, alteration));
|
||||
}
|
||||
|
||||
recipeContext.Executed = true;
|
||||
|
@@ -24,10 +24,16 @@
|
||||
</BlogPost>
|
||||
</Types>
|
||||
<Parts>
|
||||
<BodyPart BodyPartSettings.FlavorDefault="html" />
|
||||
<!-- Dynamic part -->
|
||||
<Product ContentTypeSettings.Draftable="True" />
|
||||
</Parts>
|
||||
</Metadata>
|
||||
|
||||
<Settings>
|
||||
<!-- Part settings -->
|
||||
<BodyPart BodyPartSettings.FlavorDefault="html" />
|
||||
</Settings>
|
||||
|
||||
<Command>
|
||||
feature enable Orchard.Experimental.TestingLists
|
||||
</Command>
|
||||
|
Reference in New Issue
Block a user