---
title: "Introduction"
manual: "TYPO3 Explained"
version: "11.5"
permalink: "https://docs.typo3.org/permalink/t3coreapi:cepluginsintroduction@11.5"
source: "ApiOverview/ContentElements/Introduction.rst"
rendered: "2026-10-21T15:30:00+00:00"
---

> [!WARNING]
> **Attention**
>
> TYPO3 v11 has reached end-of-life as of October 31th 2024 and
> is no longer being maintained. Use the version switcher on the top
> left of this page to select documentation for a supported version of TYPO3.
>
> Need more time before upgrading?
> You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here:
> [TYPO3 ELTS](https://typo3.com/services/extended-support-elts).

# Introduction {#cepluginsintroduction}

## What are content elements? {#what-are-content-elements}

**Content elements** (often abbreviated as CE) are the building blocks
that make up a page in TYPO3.

Content elements are stored in the database table `tt_content`. Each content
element has a specific content element type, specified by the database field
`tt_content.CType`. A content element can be of a type
supplied by TYPO3, such as 'textmedia' (text with or without images or videos).
Or it can have a custom type supplied
by an extension such as 'carousel' provided by the bootstrap_package extension.

Content elements are one of the elements (along with pages) that can be filled
with content by editors and will be rendered in the frontend when a page is
generated.

Content elements are arranged on a page, depending on their

-   language (field: `tt_content.sys_language_uid`)
-   sorting (field: `tt_content.sorting`)
-   column (field: `tt_content.colPos`)
-   etc.

> [!NOTE]
> Sometimes, the term "content element" is used to mean a content element type
> which is not a plugin. On this page and in this chapter, "content element"
> means any content element type including plugins.

## What are plugins? {#what-are-plugins}

**Plugins** are a specific type of content elements. Typical characteristics of
plugins are:

-   Used if more complex functionality is required
-   Plugins can be created using the Extbase framework or as pibase (AbstractPlugin)
    plugin.
-   `tt_content.CType` = `list` and `tt_content.list_type` contains the
    [plugin signature](https://docs.typo3.org/permalink/t3coreapi:naming-conventions-plugin-signature@11.5).

A typical extension with plugins is the 'news' extension which comes with plugins
to display news records in lists or as a single view. The news records are stored
in a custom database table and can be edited in the backend (in the list module).

## Editing {#editing}

The [Editors Tutorial](https://docs.typo3.org/m/typo3/tutorial-editors/11.5/en-us/Index.html) describes how to work with
[page content](https://docs.typo3.org/m/typo3/tutorial-editors/11.5/en-us/ContentElements/Content/Index.html#content-working) and
lists the [basic TYPO3 content elements](https://docs.typo3.org/m/typo3/tutorial-editors/11.5/en-us/ContentElements/CreatingContent/Index.html#content-types)
and how to work with them.

Additional descriptions can be found the
[fluid_styled_content](https://docs.typo3.org/c/typo3/cms-fluid-styled-content/11.5/en-us/ContentElements/Index.html#content-elements) documentation.

## Customizing {#cepluginscustomize}

[Backend Layouts](https://docs.typo3.org/permalink/t3coreapi:be-layout@11.5) can be configured to define how content elements
are arranged in the TYPO3 backend (in rows, columns, grids). This can be used in
the frontend to determine how the content elements are to be arranged (e.g. in
the footer of the page, left column etc.).

Often content elements and plugins contain a number of fields. Not all of these may
be relevant for your site. It is good practice to configure which fields will be
displayed in the backend. There are a number of ways to do this:

-   [Backend user and group permissions](https://docs.typo3.org/permalink/t3coreapi:access-options@11.5) can be used to restrict access to
    content elements, to content on specific pages etc.
-   Fields can be hidden in the backend by using [TSconfig TCEFORM](https://docs.typo3.org/m/typo3/reference-tsconfig/11.5/en-us/PageTsconfig/TceForm.html#tceform).
-   page TSconfig can be used to [configure](https://docs.typo3.org/permalink/t3coreapi:content-element-wizard@11.5) what is displayed in the "Content Element
    Wizard".

## Creating custom content element types or plugins {#creating-custom-content-element-types-or-plugins}

The following chapters handle how to create custom content element types and
plugins:

-   [Create a custom content element type](https://docs.typo3.org/permalink/t3coreapi:adding-your-own-content-elements@11.5)
-   [Registering frontend plugins in
    Extbase](https://docs.typo3.org/permalink/t3coreapi:extbase-registration-of-frontend-plugins@11.5)

How to make your plugins or content elements configurable by editors with

-   [FlexForms](https://docs.typo3.org/permalink/t3coreapi:flexforms@11.5)
