Skip to main content
A field is one property of your records (title, body text, category, …). Create fields first, then attach them to a Datatype. Fields are stored as their own records, independent of any datatype. This has two practical effects: you can reuse one field (for example “Title”) in several datatypes, and changing a field changes the form of every datatype that uses it. Each field later becomes one column in the datatype’s database table and one property in its PHP class.

Create a field

  1. Open a storage folder in Records (v14: Content > Records; v12/v13: Web > List).
  2. Create new record → tonictypes → Field.
  3. Set Type and Frontend Label (this also builds the Fluid variable name).
  4. Save. Repeat for each property.
Field type selection on the General tab General — pick the field type Changing the Type reloads the form, because every type has its own TCA Field Configuration options below it (for example the number of rows of a textarea, or the allowed file extensions of an image field). In the Records list a field is labelled [pid] TYPE: Label {variable} — for example [77] INPUT: Title {title} — so you can see its storage page, type and variable name at a glance.
A field only appears in a datatype’s Fields selector if it is on the same storage page as the datatype and has a Frontend Label, a variable name and at least one Field Value.

Field types in Core

Pro types (FlexForm, Content, Fluid, UserFunc, …): Tonictypes Pro. Developers can register their own field types under plugin.tx_tonictypes.fieldtypes in TypoScript (class, icon, label, FlexForm) — the Core setup contains a commented customfieldtype example.

Main tabs (what they mean)

Field Values (select options)

A field value is a source of values for a field. For select, radio and checkbox fields the field values become the options; for other types the value marked Is Default pre-fills new records. Field Values tab Field Values — titled static options (e.g. Option 1–3)
  • Static Value — fixed text. Write Label|value to show a label but store a different value (for example Red|red); without | label and value are the same.
  • Database Value — rows from a table: choose Table Content, Column Name and an optional Where Clause; the Value Content is Fluid, rendered once per row, so you can combine columns into a label.
  • TypoScript — the result of a TypoScript object, useful when options depend on site configuration.
  • Values of all records — values already used in existing records of this field.
Two switches refine each value:

Access

Use Hide to take a field out of all record forms without deleting it, or Start / Stop to limit that to a time window. Existing record data stays in the database. Field Access tab Hide, Start, Stop

Advanced Settings

Cache generated TCA stores the generated form configuration of this field, so TYPO3 does not rebuild it on every request. The cache is refreshed when the field’s type, configuration, variable name or exclude setting changes. If the datatype itself has caching enabled, all its fields are cached anyway. Field Advanced Settings tab Advanced Settings — Cache generated TCA

Next

Creating a Datatype