---
title: "Common root options"
manual: "Content Blocks"
version: "main"
permalink: "https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:yaml-reference-common@main"
source: "YamlReference/Root/Index.rst"
rendered: "2026-09-22T14:15:39+00:00"
---

# Common root options {#yaml-reference-common}

-   **name**

    -   *Type:* string
    -   *Required:* true

    Every editing interface configuration must contain exactly one name. The name
    is made up of vendor and content block name separated by a `/` just like the
    `vendor/package` notation in a traditional composer.json file. It must be
    unique and must have at least 3 characters. Both parts, the vendor and
    content block name, have to be lowercase and be separated by a dash `-`.

    ```yaml
    name: my-vendor/my-content-block-name
    ```

-   **title**

    -   *Type:* string

    This is the title of the Content Block. If you have a labels.xlf file, you
    should define it there with the key `title`. If both are defined, the
    translation file has precedence. If nothing is defined, the title falls back
    to `name`.

    ```yaml
    title: "My super duper Content Block"
    ```

-   **prefixFields**

    -   *Type:* boolean
    -   *Default:* true

    The default behavior is to convert the both `name` parts into a prefix.
    All dashes are removed in this process and the parts are combined with an
    underscore to prevent collisions. In order to better reuse fields between
    Content Blocks, it can be useful to deactivate this option.

    ```yaml
    prefixFields: false
    ```

    Read more about [prefixing](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:api-prefixing@main).

-   **prefixType**

    -   *Type:* string
    -   *Default:* full

    Determines how to prefix the field if `prefixFields` is enabled. Can be
    either `full` (default) or `vendor`. The latter removes the
    second part of `name` from the prefix.

    ```yaml
    prefixFields: true
    prefixType: vendor
    ```

    Read more about [prefixing](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:api-prefixing@main).

-   **vendorPrefix**

    -   *Type:* string

    If set, this prefix will be used instead of the vendor part of `name`.
    This is especially useful if you want to adhere to the best practice of
    prefixing fields with **tx_extension**.

    ```yaml
    vendorPrefix: tx_sitepackage
    ```

    Read more about [prefixing](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:api-prefixing@main).

-   **priority**

    -   *Type:* integer
    -   *Default:* "0"

    The priority can be used to prioritize certain Content Blocks in the loading
    order. Higher priorities will be loaded before lower ones. This affects e.g.
    the order in the "New Content Element Wizard".

    ```yaml
    # This Content Block will be displayed before others without a priority set.
    priority: 10
    ```

    > [!NOTE]
    > The **default** loading order is **undefined** and depends on the
    > (file-)system and the order, in which extensions are loaded.

-   **basics**

    -   *Type:* array

    Globally defined `basics` are appended to the very end of your
    `fields` array. Most commonly used to include shared
    [Tabs](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:field-type-tab@main).

    ```yaml
    basics:
        - TYPO3/Appearance
        - TYPO3/Links
    ```

    Can also be used as a Field Type [Basic](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:field-type-basic@main).

    Learn more about the concept of [Basics](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:basics@main).

-   **fields**

    -   *Type:* array

    The main entry point for the field definitions. Fields defined in this array
    are displayed in the backend exactly in the same order. You can create new
    custom fields or reuse existing ones, which are defined via TCA. Learn
    [here](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:yaml-reference-field-properties@main) what is needed to define a
    field.

    ```yaml
    fields:
        - identifier: my_field
          type: Text
    ```
