> ## Documentation Index
> Fetch the complete documentation index at: https://docs.t3planet.de/en/latest/llms.txt
> Use this file to discover all available pages before exploring further.

# Tonictypes Pro

> What Tonictypes Pro adds to Core: FlexForm and other advanced fields, backend toolbar, DocHeader buttons, link handler, branding and MCP tools.

**Tonictypes Pro** is the premium package (`k3n/tonictypes_pro` / `tonictypes_pro`). Extension Manager title: *Tonictypes Pro: Enterprise Edition – Full Stack*. Vendor: Keeen GmbH.

It always needs free **Tonictypes** Core (`tonictypes`).

Pro does not replace Core; it adds to it. Everything you build with Core keeps working, and Pro contributes extra field types, backend shortcuts for editors, a link handler, branding options and AI tools. Consider Pro when editors need structured FlexForm input, content elements inside records, or faster access to records from anywhere in the backend.

**Requires:** Core · `nitsan/ns-license` · **AI Foundation** (`nitsan/ns-t3af`) · PHP 8.2–8.5 · TYPO3 12.4–14.9 — full list: [Installation → What to install](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/Installation/Index.md#what-to-install)

## Install

License activation, Composer packages ([Composer](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/Installation/Index.md#composer)), Site Sets / `config.yaml` ([Site Sets](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/Installation/Index.md#site-sets-recommended)), static templates, and caches: [Installation](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/Installation/Index.md).

## What Pro adds

| Feature | Notes |
| - | - |
| Backend **toolbar** | Quick create + latest records — editors can add a record or open a recent one from any module, without first navigating to the storage folder |
| **DocHeader** create buttons | One-click "create" buttons for chosen datatypes in the module header of a page — [Page TSconfig](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/Installation/Index.md#page-tsconfig) |
| **FlexForm Field** | A whole FlexForm stored in one record field (structure from a FlexForm file or inline XML) |

\| Other advanced fields | Content, Fluid, UserFunc, Inline, … — see [Other advanced fields](#other-advanced-fields) |
\| **MCP tools** | Let an AI assistant list, create and update datatypes, fields and records — via AI Foundation |
\| **Link handler** | Link to Tonictypes records from the link browser, e.g. from the rich-text editor |
\| Form hooks, branding | Replace the Tonictypes logo and support e-mail with your agency's, hide the support message — [User TSconfig](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/Installation/Index.md#user-tsconfig) |

Datatype **Export / Import** is free Core from 2.1.0 — [Import / Export](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/ExportImport/Index.md).

## FlexForm Field

The Pro field type **FlexForm Field (Pro)** stores a whole FlexForm inside one record column (`mediumtext`). The editor sees the FlexForm's fields inside the record form; the structure is defined by a FlexForm data structure that you provide.

### Where the structure comes from

The FlexForm data structure is read from the field's **Field Values** tab:

| Field Value (type **Static Value**) | Result |
| - | - |
| `FILE:EXT:my_ext/Configuration/FlexForms/Faq.xml` or `EXT:my_ext/…/Faq.xml` | Uses that FlexForm file (falls back to an empty structure if the file does not exist) |
| Inline XML starting with `<T3DataStructure>` or `<?xml` | Uses the XML verbatim |

If several values exist, the one marked **Is Default** wins, otherwise the first one.

### Example: FlexForm Field

1. **Create new record** → **Field** → Type **FlexForm Field (Pro)**, Frontend Label `Details`.
2. **Field Values** → add a **Static Value** with `FILE:EXT:my_sitepackage/Configuration/FlexForms/Details.xml`.
3. Assign the field to your Datatype and **Update Table** / **Update Class**.

```xml theme={"theme":{"light":"github-light","dark":"github-dark"}}
<T3DataStructure>
  <ROOT>
    <type>array</type>
    <el>
      <headline><label>Headline</label><config><type>input</type></config></headline>
      <teaser><label>Teaser</label><config><type>text</type></config></teaser>
    </el>
  </ROOT>
</T3DataStructure>
```

In Fluid, convert the stored XML with `dv:format.flexFormToArray` (`<f:debug>` the result first to see the exact array path).

## Other advanced fields

All Pro field types are chosen in the field's **Type** selector like the Core types and are marked **(Pro)**:

| Type | What it does |
| - | - |
| **Content Elements (Pro)** | Editors add regular TYPO3 content elements (text, images, …) inside a record, for free-form body content |
| **Fluid Code (Pro)** | Renders the Fluid from the field's **Field Values** inside the record form — for previews or computed information for editors |
| **UserFunc Field (Pro)** | Calls a PHP function to render the form element (trusted code only) |
| **Inline Elements (Pro)** / **Inline Relation Datatype (Pro)** | Child records edited inline inside the parent record, e.g. several contact persons per company |
| **FlexForm Field (Pro)** / **Dynamic Input Fields (Pro)** | Structured input stored as FlexForm — see [FlexForm Field](#flexform-field) |
| **Passthrough (Pro)** / **TCA XML (Pro)** | A column without a visible form element (for values set by code) / a field configured directly with TCA |

#### Content

![Content Elements field](https://mintcdn.com/t3planet/o3JLbgRgJ_cVW1JX/en/latest/TonicTypes/Professional/Images/field_content.webp?fit=max\&auto=format\&n=o3JLbgRgJ_cVW1JX\&q=85\&s=d03ec0bc08737d845a0f59eabe22e6d6)

#### Fluid

![Fluid field](https://mintcdn.com/t3planet/o3JLbgRgJ_cVW1JX/en/latest/TonicTypes/Professional/Images/field_fluid.webp?fit=max\&auto=format\&n=o3JLbgRgJ_cVW1JX\&q=85\&s=c9e4734d2f408f978a817e053cd5f5fc)

#### UserFunc

![UserFunc field](https://mintcdn.com/t3planet/o3JLbgRgJ_cVW1JX/en/latest/TonicTypes/Professional/Images/field_user.webp?fit=max\&auto=format\&n=o3JLbgRgJ_cVW1JX\&q=85\&s=6294a6535341b5ddc6e08f28b0926f2d)

Use UserFunc only with trusted PHP.

## Toolbar and DocHeader

Toolbar screenshot and the `disableTonictypesToolbarItem` snippet: [Installation → User TSconfig](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/Installation/Index.md#user-tsconfig). DocHeader buttons: [Page TSconfig](https://docs.t3planet.de/en/latest/en/latest/TonicTypes/Installation/Index.md#page-tsconfig).

![Toolbar in the top bar](https://mintcdn.com/t3planet/o3JLbgRgJ_cVW1JX/en/latest/TonicTypes/Professional/Images/toolbar_context.webp?fit=max\&auto=format\&n=o3JLbgRgJ_cVW1JX\&q=85\&s=d6206c4c3eefc3ade23e2da405c817cb)

*Pro toolbar open*

## Link handler

Pro registers a link handler so editors can link to Tonictypes records from the TYPO3 link browser.

In the link browser a **Tonictypes** tab appears: first choose the datatype, then the record. The link stays valid when the record's title or URL changes, because it points to the record itself rather than to a copied URL.

![Tonictypes link handler](https://mintcdn.com/t3planet/ZDsGCSke7KIlic1r/en/latest/TonicTypes/Professional/Images/link_handler.webp?fit=max\&auto=format\&n=ZDsGCSke7KIlic1r\&q=85\&s=62795d7bce46d23c256abc3fccdc5fb3)

*Link Browser — Tonictypes tab next to Page / File / Folder / …*

## MCP tools

MCP (Model Context Protocol) lets AI assistants call functions in your TYPO3 installation. With AI Foundation configured, Pro offers these tools, so you can for example ask an assistant to create a datatype with its fields, and then publish it (create table and class):

| Area | Tools |
| - | - |
| Datatypes | `tonictypes_datatype_*` (list / get / create / update / delete / publish) |
| Fields | `tonictypes_field_*` |
| Records | `tonictypes_record_*` |

Needs AI Foundation MCP and a valid license where applicable.

## Links

* [License](https://docs.t3planet.de/en/latest/en/latest/License/Index)
* Product: [t3planet.de/tonictypes](https://t3planet.de/tonictypes)
* Core TER: [extensions.typo3.org/extension/tonictypes](https://extensions.typo3.org/extension/tonictypes)
* Core issues: [github.com/Keeen-GmbH/tonictypes](https://github.com/Keeen-GmbH/tonictypes)
* Support: [t3planet.de/support](https://t3planet.de/support) · [support@tonictypes.com](mailto:support@tonictypes.com)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.