Each Content Type contains one or more fields which represent individual pieces of information for each individual content item of that Content Type. Fields may contain many different types of information (such as string, integer, floating point, etc.), and may be configured to display values and allow values to be entered in multiple different ways (e.g. as a text box, drop-down list, multiple select list, radio buttons, etc).
You can add fields to any Content Type in dotCMS, even the Content Types that ship with dotCMS. This allows you to both create new Content Types with any fields you wish and to extend the Content Types that come with the base dotCMS installation by adding any additional fields you wish.
The fields in a Content Type (e.g. “columns” in the “table”) are comprised of the Standard Field Types, the WYSIWYG Field, Tag and Category Fields, etc. Nearly all fields can be made searchable, and can be accessed via the RESTful APIs.
The following summarizes the different types of fields which may be added to a Content Type:
|Field Display Type||Description|
|Block Editor||Content editor that allows you to create your content as building blocks.|
|Binary||Image or File embedded in the content item|
|Category||Assignment to one or more pre-defined Categories|
|Checkbox||Select one or more labels using checkboxes|
|Constant||Value that is always the same for all content items|
|Custom||Field populated using custom code|
|Date||Select a date (but not a time)|
|Date and Time||Select both a date and time|
|File||Link to a separate file within dotCMS|
|Hidden||Constant value which is hidden from the content editor|
|Image||Link to a separate image file within dotCMS|
|JSON||Store and access semi-structured data within content|
|Key/Value||Add one or more key/value pairs|
|Line Divider||Place a labeled line on the content editing screen|
|Multi Select||Select one or more labels using a drop-down|
|Permissions||Display Permissions using a field instead of a tab|
|Radio||Select a single label using radio buttons|
|Relationships Field||Allow content to be Related to content of another Content Type|
|Relationships Legacy||Display Legacy Relationships using a field instead of a tab|
|Select||Select a single label using a drop-down|
|Site or Folder||Locate the content item in a specific folder|
|Tag||Allow content editors to add Tags|
|Text||Single line of text|
|Textarea||Multiple lines of text|
|Time||Select a time (but not a date)|
|WYSIWYG||Multiple lines of text which content editors can style freely and embed links and images into|
Each field type has different properties that can be set (some of which are required). For more information, please see the Field Properties documentation.