Apr 25, 2018
Jan 07, 2022
CMS UI
Closed, Acceptance tests pass
Added functionality to make it possible to inherit settings from a base class.
abstract class ProductBase { public virtual XHtml ProductDescription {get;set;} } class ProductPage : ProductBase { } class ShoeProductPage : ProductPage { } class ShirtProductPage : ProductPage { } class BlueShirtProductPage : ShirtProductPage { } class VerySpecialProductPage : ProductPage { } class AndEvenMoreSpecialProductPage : VerySpecialProductPage { } // Init context.Services.Configure<TinyMceConfiguration>(config => { // Enable inheritance of settings config.InheritSettingsFromAncestor= true; config.Default() .Toolbar("epi-image"); var baseSettings = config.Default().Clone(); baseSettings .AddPlugin("product-selector") .Toolbar("product-selector cut paste"); // Will be applied for every ancestor unless they have set a specific setting config.For<ProductBase>(t=>t.ProductDescription, baseSettings); // Will be based on Default() config.For<BlueShirtProductPage>(t=>t.ProductDescription) .AppendToolbar("color-picker"); config.For<VerySpecialProductPage>(t=>t.ProductDescription, baseSettings) .Toolbar("cut past | product-selector | spellchecker); });
ProductPage -> product-select cut paste
ShoeProductPage -> product-select cut paste
ShirtProductPage -> product-select cut paste
BlueShirtProductPage -> epi-image | color-picker
VerySpecialProductPage -> cut paste | product-select | spellchecker
AndEvenMoreSpecialProductPage -> cut paste | product-select | spellchecker
See https://world.episerver.com/documentation/developer-guides/CMS/add-ons/customizing-the-tinymce-editor-v2/ for more information.