The .ascx control to load in the Content Tab for editing. The control must inherit from
NorthwoodsSoftwareDevelopment.Cms.Display.NonBlockEditor. Besides acting as a marker interface for the Content Tab, the parent class provides the component with three pieces of information:
int DocID is the internal numeric ID for the document being edited
XmlDocument Data is the XML retrieved from Read (SQL) Function
TabControlBase MyContainer is the container for your control
The control must be a good Tab citizen in that it should respond to the standard tab requests for change and error detection as well as the packaging of data for presentation and for storage. There are two ways the editor can integrate with the Tab infrastructure. The first is to read the documentation for adding a new tab and, as specified, provide the required control array items. Utility functions such as
ticCT_StateArray.AddControlArrayItem('content', ctlID, arrayOfInfoAndFunctions) can facilitate this process.
However, an easier mechanism is simply to implemented the
ICmsFormsBinding interface and then using the CmsForm* control set. The controls in this set include:
CmsFormInputControl, CmsFormTextAreaControl, CmsFormSpan, CmsFormCheckBoxSet, CmsFormRadioButtonSet, CmsFormFilePicker, CmsFormsRadCalendar, . Over time this set will expand in size. Besides knowing how to render its HTML, each of these controls knows how to register itself with the Tab framework. You need to specify a unique ID and the
If no path or a relative path is provided, it is assumed that the XSL resides relative
/Tabs/Blocks. You may also specify a full path to your application root (e.g.,
6. Click Save from the Page Action Bar to retain changes.
7. Click Refresh Site State.