Jump to content

Content elements

Reference for mp-core content types: TCA location, Fluid templates, TSconfig wizards, and custom database fields.

MP-Core logo
 

Field labels in the backend use locallang_db.xlf. This document lists technical keys and behaviour.

 

Quick reference

CTypeKindTCA fileFrontend template
galleryCustomtt_content_gallery.phpResources/Private/Templates/Content/Gallery.html
stageCustomtt_content_stage.phpResources/Private/Templates/Content/Stage.html
bannerCustomtt_content_banner.phpResources/Private/Templates/Content/Banner.html
singleteaserCustomtt_content_singleteaser.phpResources/Private/Templates/Content/Singleteaser.html
menu_subpagesCore overridett_content_menu_subpages.phpfluid_styled_content / extension override
mpcore_todolistCustom (Vue)tt_content_00_base.phpVue mount via VueComponents.typoscript
definitionlistContent BlockContentBlocks/.../definitionlist/Content Blocks frontend.html
ce_accordionb13/containertt_content_accordion.phpResources/Private/Templates/Container/
ce_tabsb13/containertt_content_tabs.phpContainer templates
ce_sliderb13/containertt_content_slider.phpContainer + SwiperSlider.vue
ce_gridb13/containertt_content_grid.phpContainer templates
ce_containerb13/containertt_content_container.phpContainer wrapper
ce_modalb13/containertt_content_modal.phpResources/Private/Templates/Container/Modal.html

TypoScript: Configuration/TypoScript/Setup/ContentElements/tt_content/*.typoscript
Database columns: ext_tables.sql (all tt_content extensions)

Shared fields (many CTypes)

Defined in Configuration/TCA/Overrides/tt_content_00_base.php, tt_content_00_header.php, and tt_content_container.php.

Used by stage, banner, singleteaser, and others.

FieldTypeDescription
tx_link_actionselectnavigate (default) or modal — when modal, tx_link must point to a ce_modal record on the same page
tx_link_switchcheckEnable link button
tx_linklinkPage, file, URL, record, or ce_modal content element (when action = modal)
tx_link_textinputCustom link label (displayCond: switch on)
tx_link_layoutselectbtn btn-primary/secondary/tertiary/quaternary, internal-link, external-link, download
tx_link_positionselectbtn-center, btn-left, btn-right

Header palette (header_config)

FieldTypeDescription
header_kickerinputText above headline
tx_header_styleselectOverride semantic level: h1–h6 (visual class)
tx_header_insidecheckRender header inside content area

Grid / background (container TCA)

Used by banner, singleteaser, stage, menu_subpages, containers.

FieldTypeDescription
grid_bgcolorselectBackground colour (itemsProcFunc: ColorPickerValueItems)
grid_lightcheckLight text on dark background
grid_bgimagefileBackground image
grid_bgfullsizecheckFull-width background
grid_parallaxcheckParallax (jarallax)
grid_icon / grid_icon_switchfile / checkOptional icon
grid_containercheckInner container width
grid_columnsselectColumn layout (menu subpages)

TCA: Configuration/TCA/Overrides/tt_content_gallery.php
Wizard: Configuration/TsConfig/Page/ContentElement/Element/Gallery.tsconfig
Frontend: Vue GallerySwiper for slider/thumbs layouts; static layouts otherwise.

Layout

FieldTypeValues / default
gallery_layoutselectgallery-single, gallery-tiles, gallery-slider, gallery-thumbs (reload on change)
gallery_columnsselect1–4 slides per view — only if layout = gallery-slider

Swiper options

Shown when layout is gallery-slider and/or gallery-thumbs (see TCA displayCond).

FieldTypeDefaultNotes
gallery_space_betweennumber10px
gallery_speednumber300ms transition
gallery_loopcheck0
gallery_navigation_enabledcheck1Prev/next
gallery_pagination_enabledcheck1
gallery_pagination_typeselectbulletsfraction, progressbar
gallery_pagination_clickablecheck1Bullets only
gallery_pagination_dynamic_bulletscheck1Bullets only
gallery_autoplay_enabledcheck0Slider only
gallery_autoplay_delaynumber3000Slider only
gallery_thumbs_per_viewselect4Thumbs layout: 3–6
gallery_thumbs_space_betweennumber10Thumbs layout

When Autoplay is enabled on slider or thumbs layouts, a pause/resume control appears next to the next-arrow button.

Core content fields

FieldNotes
header_kicker, header, subheader, bodytextRTE on bodytext
imageMulti-image; FAL description/link/title/caption passthrough

Stage (stage)

TCA: Configuration/TCA/Overrides/tt_content_stage.php
Wizard: Configuration/TsConfig/Page/ContentElement/Element/Stage.tsconfig

Media

FieldTypeDescription
tx_stage_switchselect0 = image background, 1 = video (reload)
tx_stage_videofilemp4, webm, ogg — if switch = video
imageFALMax 1 — hero image
videocoreCore video field in palette
bodytextRTEOverlay copy

Position & appearance

FieldTypeValues
tx_stage_positionselectstage-default, stage-top, stage-middle, stage-bottom
grid_bgcolorselectShared colour picker
tx_stage_bgcolorcheckStage-specific background toggle
datedatetimeOptional date line
link_config paletteCTA link

TCA: Configuration/TCA/Overrides/tt_content_banner.php
Wizard: Configuration/TsConfig/Page/ContentElement/Element/Banner.tsconfig

Minimal hero strip: header + single image + optional background/link.

FieldNotes
headerTitle
imageMax 1
grid_bgcolor, grid_lightSection colours
link_configOptional CTA
bodytextPlain text (RTE disabled)

Single teaser (singleteaser)

TCA: Configuration/TCA/Overrides/tt_content_singleteaser.php
Wizard: Configuration/TsConfig/Page/ContentElement/Element/Singleteaser.tsconfig

FieldNotes
header_kicker, header, subheader
imageMax 1; imageorient, imagewidth in palette
bodytextRTE
grid_bgcolor
link_config
dateOptional

TCA: tt_content_menu_subpages.php — overrides core showitem only.

FieldNotes
pagesSelected pages
header_subpagesHeading level for submenu titles (h2–h6)
grid_bgcolor, grid_columns, grid_lightCard/grid styling
tx_link_switch, tx_link_text, tx_link_layoutPer-item link styling

Todo list (mpcore_todolist)

TCA: tt_content_00_base.php
FlexForm: Configuration/FlexForms/TodoList.xml
Frontend: Vue TodoList — data-container="vue" data-component="TodoList"

FlexForm settings (pi_flexform)

SettingTypeDefault
settings.showDeleteButtoncheck1
settings.showFiltercheck1
settings.showClearCompletedcheck1
settings.maxItemsnumber(see XML)
settings.cardTitleinputCard heading
settings.colorSchemeselectBootstrap colour variant

Definition list (definitionlist)

Content Block — not classic TCA CType file.

See Backend for editor fields.
RTE definition lists are also available inside the main RTE preset (toolbar plugin).

Container elements (b13/container)

All five container CTypes register via B13\Container\Tca\Registry::configureContainer(). Child content lives in colPos 101 for every container (shared by design — children are scoped by tx_container_parent, not colPos alone). Page backend layouts use colPos 0–4; do not assign colPos 101 to page columns.

TypoScript: Configuration/TypoScript/Setup/ContentElements/tt_content/ContainerElements.typoscript (Site Set mpc/mp-core-container). Frontend rendering uses ContainerProcessor and {children_101} in Fluid templates.

Shared wrapper field grid_container and palette grid_container_pallet are defined in Configuration/TCA/Overrides/tt_content_00_container_shared.php.

Accordion (ce_accordion)

TCA: tt_content_accordion.php

FieldTypeDescription
container_accordion_typeselect1 Bootstrap, 2 native <details>
container_headlineinputSection title
container_accordion_togglecheckCollapse toggle UI
container_accordion_toggle_allcheckExpand/collapse all
container_accordion_opencheckFirst panel open
grid_containercheckWidth container

Allowed child CTypes: same as tabs — header, text, textpic, ce_accordion, ce_tabs, ce_container, mpc_vidply (requires extension mpc_vidply). Accordion and tabs may nest each other. Listview/detail VidPly elements are intentionally excluded.

Tabs (ce_tabs)

TCA: tt_content_tabs.php

FieldTypeDescription
container_headlineinput
container_tab_opencheckOpen first tab
grid_containercheck

Allowed child CTypes: same list as accordion (see above).

Slider (ce_slider)

TCA: tt_content_slider.php — Vue SwiperSlider on frontend.

FieldTypeDefault
slider_typeselectslide, fade, cube, coverflow, flip, cards, creative
slider_slides_per_viewnumber1
slider_slides_per_groupnumber1
slider_space_betweennumber0
slider_loopcheck0
slider_speednumber300
slider_autoplay_enabledcheck0
slider_autoplay_delaynumber3000
slider_autoplay_disable_on_interactioncheck1
slider_navigation_enabledcheck1
slider_pagination_enabledcheck1
slider_pagination_typeselectbullets, fraction, progressbar
slider_pagination_clickablecheck0
slider_pagination_dynamic_bulletscheck0
slider_keyboard_enabledcheck1
slider_mousewheel_enabledcheck0
slider_free_mode_enabledcheck0
slider_zoom_enabledcheck0
slider_breakpointstextJSON breakpoints (advanced)

When Autoplay is enabled, a pause/resume control appears next to the next-arrow button so visitors can stop auto-advance without disabling autoplay in the backend.

Grid (ce_grid)

TCA: tt_content_grid.php — Bootstrap column editor.

Child elements share a single backend drop zone (colPos 101). On the frontend, `Grid.html` distributes children round-robin across the configured number of columns (grid_columns, 1–4). Child sort order determines placement; grid_col1–grid_col4 and offsets control column widths only.

FieldTypeDescription
grid_typeselectul (list) or div (div wrapper)
grid_columnsselect1–4 columns
grid_breakpointselectxl, md, lg, xxl
grid_col1 … grid_col4selectBootstrap width 1–12 per column
grid_offset1 … grid_offset4selectColumn offsets
grid_gutterselectGutter 0–5
Shared grid_* background fieldsFrom container TCA

Uses palette frames_ce_grid (spacing only, no frame layout select).

TCA: tt_content_modal.php — Bootstrap overlay with composed child content in colPos 101.

FieldTypeDescription
headerinputModal title in the header bar (aria-labelledby); falls back to the first child headline (e.g. VidPly)
container_modal_triggerselectimage, link, image_link — built-in trigger on the page
container_modal_sizeselectmd, lg, xl, fullscreen
container_modal_hide_triggercheckOutput modal markup only; trigger from another CE via tx_link_action=modal or an RTE bodytext link (Link browser tab “Modal”)
imageFALMax 1 — trigger thumbnail when trigger includes image
link_config paletteTrigger link label and button style (does not navigate)

Allowed child CTypes: accordion/tabs panel list plus image.

Frontend: #modal-{uid}; trigger thumbnail from the container image field when trigger type includes image; shared link rendering via Resources/Extensions/fluid_styled_content/Private/Partials/Link/ActionLink.html.

RTE modal links: In bodytext, use the link browser tab “Modal” to pick a ce_modal on the same page. The frontend renders an inline link with a modal icon (a.modal-link) that opens #modal-{uid} via Bootstrap. The modal CE should usually have “Hide built-in trigger” enabled when triggered from RTE text.

Container (ce_container)

TCA: tt_content_container.php — generic wrapper with background palettes (grid_bgcolor, grid_bgimage, parallax, icon, etc.).

Adding a new content element

  1. TCA — Configuration/TCA/Overrides/tt_content_myelement.php + columns in ext_tables.sql.
  2. Template — Resources/Private/Templates/Content/Myelement.html.
  3. TypoScript — Configuration/TypoScript/Setup/ContentElements/tt_content/Myelement.typoscript.
  4. Wizard — Configuration/TsConfig/Page/ContentElement/Element/Myelement.tsconfig.
  5. Icon — Configuration/Icons.php.
  6. Reuse palettes: link_config, header_config, grid_* where applicable.

See Configuration for TCA patterns and Frontend for asset includes.

Share page