Adding custom fields to contacts
Kentico EMS required
Features described on this page require the Kentico EMS license.
Custom fields may help you store and organize additional data about your contacts when you, for example, integrate Kentico with a third party system. If you need to gather data about contacts that is not collected by the default fields, you can add custom fields to contacts.
Added custom fields can be displayed among other editable fields of the contact editing interface or on the separate Custom data tab of the contact managing interface.
Adding custom fields to contacts
Custom fields may store values such as text, date and time, and boolean values. To define custom fields:
Open the Modules application.
Edit () the Contact management module.
Switch to the Classes tab.
Edit () the Contact management - Contact class.
Switch to the Fields tab.
Create a new category below the last field in the fields listing (ContactSalesForceLeadReplicationRequired in the default implementation).
Create a new field based on your requirements and place it inside the new category.
- Leave Standard field in Field type.
- Leave the Display field in the editing form check box selected.
Click Save.
Now you have created a custom field to gather details about your contacts. You can view and edit the values of your new custom field on the Profile tab of the contact managing interface.
Custom fields on the Profile tab are visible only when they contain a value which is not empty for the given contact. Empty fields are hidden by default.
Moving fields in contact detail categories
When you have created multiple custom fields, you can organize the fields displayed on the contact’s Details tab by moving them.
- Open the Modules application.
- Edit () the Contact management module.
- Open the Classes tab.
- Edit () the Contact management - Contact class.
- Switch to the Fields tab.
- Select the field in the list.
- Move the item using the Move up ( ) or Move down ( ) buttons.
Moving fields in the list changes their positions in the resulting form.
Displaying custom data on a separate tab
When you have gathered a lot of custom data, you can distinguish between the custom data and the data collected by the default fields by displaying the custom data on a separate tab of the contact editing interface.
To be able to render the custom data on the separate tab, you first need to create the custom page and then create the tab for displaying the page’s content.
Creating a custom page with the contact card
To create the custom page for displaying the contact card and contact’s custom data:
Open your Kentico project in Visual Studio (using the WebSite.sln or WebApp.sln file).
Navigate to the ~/CMSModules/ContactManagement/Pages/Contact folder.
Create a copy of the Details.aspx file under the Contact folder.
Rename the file to, for example, CustomData.aspx.
Change the class name in the CustomData.aspx.cs and CustomData.aspx files.
Replace the content in the CustomData.aspx file with:
Example<div data-ng-controller="app as $ctrl"> <cms-card-wrapper contact-id="$ctrl.contactId"></cms-card-wrapper> </div> <!-- any content -->
You will get the following result:
Example<asp:Content ID="cntBody" runat="server" ContentPlaceHolderID="cpAfterForm" ng-strict-di> <div data-ng-controller="app as $ctrl"> <cms-card-wrapper contact-id="$ctrl.contactId"></cms-card-wrapper> </div> <!-- any content --> </asp:Content>
Insert your custom content under the contact card section.
Now that you have created the custom page for displaying the contact card and inserted your custom data, you can create a new tab in the Kentico administration interface.
Creating a new tab in the user interface
To create a separate tab in the contact editing interface for displaying the content of your custom page:
- Open the Modules application.
- Edit () the Custom module.
- Switch to the User interface tab.
- Navigate to the Administration -> On-line marketing -> Contact management -> Contacts -> Contact properties tree item.
- Click New element ().
- Enter Custom data in the Display name field.
- Select URL in the Type field.
- In the Target URL field, enter the ~/CMSModules/ContactManagement/Pages/Contact/CustomData.aspx path to the created custom page.
- Click Save.
The custom page content is now displayed on the Custom data tab of the contact managing interface.