> For the complete documentation index, see [llms.txt](https://docs.laracms.nl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.laracms.nl/the-entity/structure/tab-custom-columns.md).

# Tab: custom columns

The custom columns tab contains all the custom fields (columns) of your entity.

You can select teh following field types:&#x20;

* string
* text
* text with tinymce (all options)
* text with tinyMCE (limited options)
* email
* datetime
* date
* time
* integer
* integer unsigned
* decimal
* boolean
* select (dropdown)
* geo location
* custom

#### Hook

The default hook of a custom field is *`after`*. This means that the fields will be placed after the standard fields in the backend form of the entity.\
\
Sometimes you might want to place your custom fields *`before`* the standard fields. If you have a team entity, it makes sense to place the firstname and middlename fields *before* the standard title field (which can be used for the last name field).

#### List

The list option kan be selected if yuou want to show a specific field in the index list of the entity in the backend. In the team example it would make sense to show the firstname and middlename fields in the list.

#### State options

Every field can have 4 different states:

* always enabled
* enabled if
* hidden
* disabled

With the enabled if option you can define a condition, which can check for specific value of another field. This means that you can show/hide fields depending on the value of another field. A good example is the `geolocation` field, which consists of several fields (addres, city, country, latitude, longitude, etc) and a booloean toggle field.

\ <br>
