UI type | Purpose |
---|---|
1 | A single-line text field. Changes color when selected. |
2 | Same as uitype 1, but this is a mandatory field. A star is present before the field label. Changes color when selected. |
3 | AutoGenerated AccessKey in Users module |
4 | A non-editable single-line text field that displays auto-generated and incremental input, like invoice number. Used for generating Auto number of configured type in any module. |
5 | Date field. Contains a link to “jsCalendar” which can be used to fill it in. It also displays the current user's date format below it. Takes input date based on the current users date format. Does not allow to enter invalid date like 30th February. Does not change color on selection. |
6 | This is a time and date field. It allows to enter time using dropdowns and date using a link to “jscalendar”. The validity of date and time is checked before entry. It is mandatory that the entered date is greater than or equal to the current date. Does not change color on selection. This is ONLY for specific calendar forms, it cannot be used anywhere else in the application* See uitype 50 |
7 | A single-line text field which is used to take numeric input primarily. Changes color on selection. |
8 | Internal field that holds a list of emails for the TO, FROM and CC email fields on the Emails module. |
9 | A single-line text field which is used to accept percentage inputs from users. Checks if the input is less than 100 or not and gives and error otherwise. Changes color on selection. |
10 | To create an input type of 'Linked Entity' wherein a field can be linked to one of the entity from multiple modules (e.g.: Member of field) |
11 | Phone and fax |
12 | Email id field which stores the single email id (from email address), when mail is sent from the system |
13 | A single-line text field. Used to take the email-addresses as input from user. Checks for the validity of the entered email and gives an error if it is invalid. Changes color on selection. |
14 | Time |
15 | A dropdown combo that accepts input from the value selected in it. The values in the dropdown vary from module to module and Role-based. |
16 | A dropdown combo that accepts input from the value selected in it. The values in the dropdown vary from module to module and doesn't depend on the current user's role (non-role based). |
1613 | A dropdown of the entity modules available in the application |
1614 | A dropdown of the entity and non-entity (extensions) modules available in the application |
1615 | A dropdown of all the picklists in the application |
1024 | A dropdown of all the roles in the application |
17 | Single line text field which is used to accept the names of websites from the users. In other words a URL. Does not check for the validity of input, but does parse the protocol. Changes color on selection. |
19 | Textarea used for accepting large inputs like “Description”, “Solutions” etc. Changes color on selection. |
20 | Same as uitype 19, but a mandatory field, i.e. it has to be filled and there is a star present before the field label. Changes color on selection. |
21 | Textarea sized around five lines. Used to take small details like “Street Address” from user as input. Changes color on selection. |
22 | A textarea which is used to accept the “Title” field in some modules. It is a mandatory field. A star is present before the field label. Changes color on selection. |
24 | Textarea sized around five lines. Primarily used to take small details like “Billing Address” from user as input. When a contact is selected, then if the user consents, the billing address is filled automatically using the contact address as billing address. Is a mandatory field. A star is present before the text label. Changes color on selection. |
25 | Email Status Tracking (Used to count the number of times an email is opened). This is a special uitype, value for which is computed based on the values of the other table. |
26 | Documents folder |
27 | File type information (Internal/External). This uitype is special as it gives a picklist selection on the left side where the label appears and based on which the input type for the value changes. |
28 | Field for filename holder (which was previously merged with another uitype). Now this field exists independent of the other uitype, but its type varies based on the value of the other uitype |
30 | This consists of three dropdowns which are used to set the reminder time in case of any activity creation. |
31 | Reserved User theme dropdown |
32 | Reserved User language dropdown |
33 | Multipicklist. It does not change color on selection. |
3313 | Multipicklist of the entity modules available in the application |
3314 | Multipicklist of the entity and non-entity (extensions) modules available in the application |
50 | Datetime field. It contains a link to “jsCalendar” which can be used to fill it in. It also displays the current user's date format below it. Takes input date based on the current user's date format. Does not allow to enter invalid date like 30th February. It does not change color on selection. |
51 | Used to select an account from a popup window. |
55 | This uitype provides a combination of Salutation and Firstname. The Salutation field is a dropdown while the Firstname field is a single-line text field that changes its color on selection. |
56 | A checkbox which takes input in the form of yes or no. |
57 | A single line uneditable text field. Takes its input from the link provided with it. Used to select a contact from a popup window. It contains a link that can be used to clear the previous value. Also, it contains a link to a popup that adds a new contact. It does not change color on selection. |
66 | Calendar related entity picklist |
69 | Image field. In products 69m which is special as it can hold multiple images |
71 | Currency for application usage. Read more here |
72 | Currency special for inventory module lines and totals. Read more here |
85 | Skype |
117 | Currency picklist. field must be named currency_id |
255 | In leads and contacts module, the last name is mandatory but the first name is not. So when the first name is disabled for the profile, the salutation gets handled and added for the last name using this uitype. |
1025 | MultiSelect autocomplete |
User Fields | |
52 | CreatedBy and ModifiedBy user read-only fields. Note that this uitype is prepared to be editable. By default, they are set to displaytype 2 which makes them non-editable, but if they are changed to displaytype 1 they will be editable. |
53 | Combination of a dropdown combo and a radio button that accepts input from the value selected in the combo. The value of the radio button, in turn, decides the values in the combo. The input is the name of the user or group to which an activity is assigned to. |
77 | A dropdown with a list of current active users. It is a second assigned user field with no permissions attached to it. The column name must be named inventorymanager and the fieldname assigned_user_id1 |
101 | User capture widget. Must be named reports_to |
Steps to add a new uitype
-
add the uitype to data/CRMEntity.php: this is for formatting the input value to be saved in the database, if no formatting is needed you will not need to modify this file
-
add the uitype to include/ListView/ListViewController.php: formatting output on list view
-
add the uitype to include/utils/ListViewUtils.php: formatting output on related list view
-
add the uitype to include/utils/DetailViewUtils.php: formatting output on detail view
-
add the uitype to include/utils/EditViewUtils.php: formatting output on edit view
-
add the uitype to Smarty/templates/EditViewUI.tpl: formatting edit options
-
review include/js/dtlviewajax.js, Smarty/templates/DetailViewFields.tpl and Smarty/templates/DetailViewUI.tpl in case you need to add some functionality for inline edit
-
create a changeset to insert the new type into webservice table: vtiger_ws_fieldtype
-
add support for this uitype in Layout Editor (Example commit)
-
Smarty/templates/Settings/LayoutBlockEntries.tpl
-
include/js/customview.js
-
modules/Settings/LayoutBlockList.php
-
themes/images/{your uitype image}
-