|
||
Kentico CMS allows you to develop custom providers and use them instead of the standard ones. This way, you can modify the behaviour of the application or a specific module according to your exact requirements.
To perform this type of customization, you can either add a new assembly to your web project and define the necessary logic there or create the custom classes in the App_Code folder and ensure that they are registered correctly. Placing your custom code into the App_Code folder means that it will be compiled dynamically as needed and automatically referenced in all other parts of the application. Please see the Customizing providers from the App_Code folder and Registering custom classes via the web.config topics to learn more.
Examples of provider customizations and additional information can be found by following the links below:
•Custom E-mail Provider - demonstrates the typical customization process of a standard provider. The same approach can be used to customize most Kentico CMS provider classes (anything that inherits from the CMS.SettingsProvider.AbstractProvider class).
•Custom Data Provider - describes the specific steps that need to be taken to customize the Data provider.
•Custom Search Provider - contains an example of how the SQL search provider can be modified.
•Custom E-commerce Providers (the link leads to a dedicated chapter in the Kentico CMS E-commerce guide)
Customization is also possible for the following Helper classes:
•CacheHelper (CMS.GlobalHelper)
•OutputHelper (CMS.OutputFilter)
•MediaHelper (CMS.GlobalHelper)
•DirectoryHelper (CMS.IO)
•TransformatonHelper (CMS.Controls)
•ClassHelper (CMS.SettingsProvider)
Every class used to customize a provider or helper must inherit from the original class. This means that you can implement your modifications or additions by overriding the members of the given object. To ensure that everything works correctly when creating overrides for existing methods, it is recommended to call the original base method first and then add your own code (whenever possible). You can find information about provider and helper classes in the Kentico CMS API reference, including their inheritance hierarchy and lists of available methods.
You can also use global event handlers to customize the behaviour of the system, such as document modifications, the authentication process, etc.