Modifying a page in an editor
Developers can customize pages within existing IBM Sales Center editors. These pages are made up of user interface elements known as controls and managed composites.
Procedure
- Define controls
and compositeDefinitions extension point definitions.
This example plugin.xml changes the layout of the customer identity
page of
the customer editor page by adding an "Office address" row to the
bottom of
the primary address composite:
<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.0"?> <plugin> <extension point="com.ibm.commerce.telesales.configurator"> <configurator path="config"/> </extension> <extension point="com.ibm.commerce.telesales.widgets.controls"> <control id="customerOfficeAddressLabel" type="requiredLabel" text="Office address" fieldId="customerOfficeAddressField"/> <control id="customerOfficeAddressField" type="text" tooltip="Office address" modelPath="address.addressField1" userData="true"/> </extension> <extension point="com.ibm.commerce.telesales.widgets.compositeDefinitions"> <gridCompositeDefinition id="customerPrimaryAddressCompositeDefinition.default" referenceId="com.ibm.commerce.telesales.ui.impl.customerPrimaryAddressCompositeDefinition.default"> <row> <control controlId="customerOfficeAddressLabel" dataId="com.ibm.commerce.telesales.ui.impl.requiredLabelGridData"/> <control controlId="customerOfficeAddressField" dataId="com.ibm.commerce.telesales.ui.impl.requiredFieldGridData"/> </row> </gridCompositeDefinition> </extension> </plugin>
- Use the com.ibm.commerce.telesales.configurator
extension point
to indicate that the new definitions will be used instead of the default
IBM
Sales Center definitions. The new definition will contain the same
pages as
the default definition, but the implementing class of the page that
you extend
will point to the new implementation class instead of the default
IBM Sales
Center implementation class. In our example the extension is defined
in a
new plug-in called extensions:
com.ibm.commerce.telesales.ui.impl.customerPrimaryAddressCompositeDefinition.default=extensions.customerPrimaryAddressCompositeDefinition.default