Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
AI OnAI Off
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
The following example shows how to create a component that plugs in to the Assets pane of the CMS home view.
using EPiServer.Shell.ViewComposition;
using EPiServer.Shell.Web;
namespace CodeSamples
{
[Component(
//Auto-plugs in the component to the assets panel of cms (See EPiServer.Shell.PlugInArea
//in the EPiServer.UI assembly for Dashboard and CMS constants)
PlugInAreas = "/episerver/cms/assets",
Categories = "cms",
WidgetType = "alloy.components.CustomComponent",
//Define language path to translate Title/Description.
//LanguagePath = "/customtranslations/components/customcomponent";
Title = "My custom component",
Description = "A custom component that shows information about the current content item.")]
public class CustomComponent { }
}
And the following is the corresponding JavaScript widget:
define([
// Dojo
"dojo/_base/declare",
"dojo/html",
// Dijit
"dijit/_TemplatedMixin",
"dijit/_WidgetBase",
//CMS
"epi-cms/_ContentContextMixin",
], function (
// Dojo
declare,
html,
// Dijit
_TemplatedMixin,
_WidgetBase,
//CMS
_ContentContextMixin
) {
return declare([_WidgetBase, _TemplatedMixin, _ContentContextMixin], {
// summary: A simple widget that listens to changes to the
// current content item and puts the name in a div.
templateString: '<div>\
<div data-dojo-attach-point="contentName"></div>\
</div>',
contextChanged: function (context, callerData) {
this.inherited(arguments);
// the context changed, probably because we navigated or published something
html.set(this.contentName, context.name);
}
});
});
Last updated: Sep 21, 2015