Replacing a component globally
The following example shows how to replace a component for the entire system. This example also shows how to replace the built-in Episerver CMS page tree with a custom page list component.
- Declare a replacement component.
C#
// A simple component implementation represented with a dijit content pane on the client side public class MyCustomPageList : ComponentBase { public MyCustomPageList() : base("dijit/layout/ContentPane") { // Add "Hello World!" as non-persisted content to the dijit content pane this.Settings.Add(new Setting("content", "Hello World!", false)); } }
- Replace the page tree component using the IOC container by implementing the ConfigureContainer method of EPiServer.ServiceLocation.IConfigurableModule in an initialization module.
C#
public void ConfigureContainer(ServiceConfigurationContext context) { context.Container.Configure(container => { container.For<IComponent>().Add<MyCustomPageList>() .Named(new PageTreeComponent().DefinitionName); }); }
This replaces any creation of the PageTreeComponent with a new instance of the MyCustomPageList type that is created by the IOC container.
Do you find this information helpful? Please log in to provide feedback.
Last updated: Sep 21, 2015