Start Icon

Start TYPO3 Responsive! 

Classification

start

Version

main

Language

en

Description

Start extends TYPO3 with the responsive framework Foundation (Zurb), a dozen responsive Backend Layouts and some responsive Gridelements. It enables editors, to create responsive nested layouts within a few minutes. It extends some backend forms for controlling the display of content elements depending on devices like smartphones, tablets and desktops. It extends TYPO3 content elements and menus with some helpful responsive Foundation features. A template for a responsive newsletter is included. You can launch a ready-to-use website by Launch TYPO3 Responsive!

Keywords

typo3, start, responsive, foundation, grid, layout, lightbox, tx_news

Copyright

2014-2024

Author

Dirk Wildt (Die Netzmacher, verdigado eG), Alexander Bigga, Liss Dunphy, Falko Trojahn (all verdigado eG)

Email

https://wildt.at.die-netzmacher.de

License

This document is published under the Open Publication License available from https://www.opencontent.org/openpub/

Rendered

Mon, 27 Apr 2026 09:31:32 +0000

The content of this document is related to TYPO3, a GNU/GPL CMS/Framework available from www.typo3.org.

Table of Contents

Themes 

Default 

EXT:start default theme

Default

Black 

EXT:start black theme

Black

Blue 

EXT:start blue theme

Blue

Orange 

EXT:start orange theme

Orange

Yellow 

EXT:start yellow theme

Yellow

Backend 

Module > Web: Start TYPO3

Module > Web: Start TYPO3

Start extends the page record with some properties. The modul Start TYPO3 enables you to control important informations like the address data or hyperlinks to social networks on your root page for the entire website. You can overwrite this data on subpages - i.e. for a sub-division.

Start TypoScript templates

Start TypoScript templates

Start provides some TypoScript templates of course.

Start user-interface

Start user-interface (here: categories)

Start enables you to control more than 100 properties per user-interface - the Constant-Editor. Usually you need to configure only the categories and fields with an asterisk (*). This are less than five :)

Launch it! 

You can launch a ready-to-use website by Launch TYPO3 Responsive! (launchstart)

Workflow: Launch TYPO3 Responsive!

Workflow: Launch TYPO3 Responsive!

Only some clicks and you have a ready-to-use website based on Start TYPO3 Responsive!

  1. Install Launch TYPO3 Responsive! (launchstart)
  2. The installer page will created automatically
  3. Please click the button [Launch your TYPO3-project] in the frontend form
  4. Enjoy your responsive website

Live 

You can test the launch at https://start-typo3-responsive.de?18991

What does it do? 

  • Start TYPO3 Responsive! (start) extends TYPO3 with the responsive framework Foundation (Zurb), a dozen responsive backend layouts and some responsive gridelements.
  • It enables editors, to create responsive nested layouts within a few minutes.
  • It extends some backend forms for controlling the display and hide of content elements depending on devices like smartphones, tablets and desktops.2
  • It extends TYPO3 content elements and menus with some helpful responsive Foundation features like
- Breadcrumbs
  • Clearing Lightbox
  • Flexible Video
  • Icon Bar
  • Side Nav
  • Top Bar
  • You can customise a lot of CSS properties – especially colours – by an user interface.
  • It provides a template for an extensive responsive newsletter.
  • You can launch a ready-to-use website by Launch TYPO3 Responsive! (launchstart)

What do you need? 

  • A TYPO3 installation only. The installation can be empty.

TYPO3 Versions 

  • TYPO3 10.4
  • TYPO3 9.5
  • TYPO3 8.7

Themes 

If you like to extend Start with themes, you can install

Audience 

  • TYPO3 agencies
  • TYPO3 integrators
  • TYPO3 developers

Module 

Module > Web: Start TYPO3

Module > Web: Start TYPO3

Interface 

Module Start TYPO3 Interface

Module Start TYPO3 Interface

Overview with numerous options

Contact data 

Module Start TYPO3 Contact data

Module Start TYPO3 Contact data

Social Media 

Module Start TYPO3 Social Media

Module Start TYPO3 Social Media

Name / Company 

Module Start TYPO3 Name / Company

Module Start TYPO3 Name / Company

Callout 

You can control callouts with so called defined CSS classes.

You have only to pick up the call out class in the select box.

Content element with the tab [Style]

Content element with the tab [Style]

Call out (theme white)

Call out (theme white)

Call out (theme black)

Call out (theme black)

You can style more properties. Please refer to Styling

Effects 

Shake an element 

Elements shake by a mouse over. This is done by CSS. Please refer to

Flexible Video 

You can embed videos responsive. See the illustrations below.

Flexible video on a desktop

Flexible video on a desktop

Flexible video on a smartphone

The same flexible video on a smartphone

Flexible video in the backend

The flexible video in the backend

Please use the content element "Flexible Video"

Jumboteaser: Format-filling image with heading and button

Jumboteaser: Format-filling image with heading and button

Jumboteaser 

The Jumboteaser is a kind of curtain or roller blind (1) that can be opened:

  • Button with link to the topic (a).
  • Click on the arrow (b) to lift the curtain and the lower part of the page – the actual website – is pushed up (2).

Table of Contents

Setup 

To insert a Jumboteaser:

  • Area: Head
  • Content element: Jumboteaser

The Jumboteaser is inherited. Here's how to prevent it from appearing on subpages:

  • Copy the menu and breadcrumb bar from the home page
  • Paste them into the subpage as a reference

Jumboteaser

  • You select the image in the [Image] tab.
  • You can do everything else below under the "Expansion options"

    • The heading, subline, designation and link of the button
    • How much the image should be darkened and how it should be positioned

Background Image 

You can add an image to a Grid Element:

  • Grid Element > Appearance > Files [Add file]

Highlight Menu Item 

You can highlight menu items:

  • Modul Web > Pages
  • Pagetree
    • Select the page, which should highlighted in the menu
  • Edit area
    • Page Properties
    • My Website
    • [ ] Highlight menu entry

Mega-Menu 

Mega menu TYPO3 START Kreisverband Passau-Land

Mega menu TYPO3 START. Here: example Kreisverband Passau-Land

Sense and purpose 

You can use a mega menu to replace submenus in your main navigation.

You can customize the mega menu - for example in columns and with pictures.

A mega menu can be useful if many levels are displayed in a submenu and you want to save your visitors in the nested entries to find your way.

Shape 

Mega menu TYPO3 START Kreisverband Passau-Land

Mega menu TYPO3 START. Here: example des Kreisverbandes Passau-Land

  1. You set up a page outside of the navigation, for example with the name "Mega-Menu The Greens"
  2. You design this page the way you want it. In the picture above for example, four columns are created, each is populated with the content element "Menu sub-pages".

Insert 

Mega menu TYPO3 START Kreisverband Passau-Land

Mega menu TYPO3 START. Here: example des Kreisverbandes Passau-Land

  1. Edit the properties of the page in the main menu that you want to assign the mega menu. In the picture above: Main menu > The Greens
  2. Select the tab [TYPO3 START] and below the field "Mega menu". Choose here the page you set up with the mega menu.

Website 

Title tag 

You are controlling the HTML title tag – the title of your internet browser – by the titles of your pages:

  • First part is the title of your current page.
  • Second part ist the title of your root page.

If the current page is the root page, the second part will be "Home".

Page 

You can control the grid of every page by "backend layouts".

Content of each cell will handed down, if the correspondig cell of the page below is empty.

Table of Contents

Slim 

The Slim backend-layouts

The Slim backend-layouts

Example with a Slim backend-layout

Example with a Slim backend-layout

Profile 

Slim templates are simple templates with a fixed width.

Areas 

Grey 

Header and footer. Inheritance on subpages when the header or footer on subpages is empty.

Red 

Content area. No inheritance on subpages.

Light red 

Margin areas. Inheritance on subpages when the same area on subpages is empty.

Setup 

Page Properties 

You select a backend-layout at

  • Module > Web: page
  • Edit page properties
  • Tab [Appaerance]

Extensionmanager 

If slim layouts are visible and selectable in the backend, is crontrolled by the administrator and the extension manager. See

Constant Editor 

The administrator can add and change CSS classes of rows by the Constant Editor. See

Slim Extended 

The Slim Extended backend-layouts

The Slim Extended backend-layouts

Profile 

Slim Extended templates are identical to Slim templates but with a additional top and bottom row.

Areas 

Grey 

Header and footer. Inheritance on subpages when the header or footer on subpages is empty.

Red 

Content area. No inheritance on subpages.

Light red 

Margin areas. Inheritance on subpages when the same area on subpages is empty.

Setup 

Page Properties 

You select a backend-layout at

  • Module > Web: page
  • Edit page properties
  • Tab [Appaerance]

Extensionmanager 

If Slim Extended layouts are visible and selectable in the backend, is crontrolled by the administrator and the extension manager. See

Constant Editor 

The administrator can add and change CSS classes of rows by the Constant Editor. See

Mixed 

The Mixed backend-layouts

The Mixed backend-layouts

Profile 

Mixed templates are templates with

  • fixed/slim witdh for the content area
  • and full width (100 per cent) for the top and bottom row

Areas 

Grey 

Header and footer. Inheritance on subpages when the header or footer on subpages is empty.

Blue 

Margin areas. Inheritance on subpages when the same area on subpages is empty. Full width (100 per cent).

Red 

Content area. No inheritance on subpages. Fixed width.

Light red 

Margin areas. Inheritance on subpages when the same area on subpages is empty. Fixed width.

Setup 

Page Properties 

You select a backend-layout at

  • Module > Web: page
  • Edit page properties
  • Tab [Appaerance]

Extensionmanager 

If mixed layouts are visible and selectable in the backend, is crontrolled by the administrator and the extension manager. See

Constant Editor 

The administrator can add and change CSS classes of rows by the Constant Editor. See

Newsletter 

The Start Newsletter backend-layouts

The Start Newsletter backend-layouts

Profile 

The newsletter template is optimised for a simple newsletter.

Areas 

Pink 

Header and footer. Fixed width.

Purple 

Content. Fixed width.

Setup 

Page Properties 

You select a backend-layout at

  • Module > Web: page
  • Edit page properties
  • Tab [Appaerance]

Extensionmanager 

If bronze layouts are visible and selectable in the backend, is crontrolled by the administrator and the extension manager. See

Default 

The Start Default backend-layouts

The Start Default backend-layouts

Profile 

Standard templates are near by the original TYPO3 templates from earlier TYPO3 versions. They are for backward compatibility only.

Areas 

Grey 

Content area. No inheritance on subpages.

Light grey 

Margin areas. Inheritance on subpages when the same area on subpages is empty.

Setup 

Page Properties 

You select a backend-layout at

  • Module > Web: page
  • Edit page properties
  • Tab [Appaerance]

Extensionmanager 

If bronze layouts are visible and selectable in the backend, is crontrolled by the administrator and the extension manager. See

General 

You can assign content elements to grids. This is a powerful tool for individual designs.

Available grids are

  • columns (1 to 6)
  • accordion
  • tab

Workflow 

Gridelements in the content wizard

Gridelements in the content wizard

You can nest gridelements.

Properties of a gridelement

Properties of a gridelement

You can control the responsive behaviour with the properties columns arrangement.

3 columns gridelement with one text element per column

3 columns gridelement with one text element per column

You can create every content element in the grid. A gridelement too.

Frontend 

Layout based on the gridelement on a desktop

Result on a desktop

Layout based on the gridelement on a smartphone

Result on a smartphone

Same Height for all columns 

You can set the height of all columns to the same value. Currently, this feature is only available if you use the responsive Framework Foundation.

Frontend 

Same height for all columns (frontend)

Same height for all columns (frontend)

All four columns have the same height in the illustration above.

Backend 

Gridelement with four columns in the backend

Gridelement with four columns in the backend

The corresponding layout in the backend.

Option: Same height for all columns

Option: Same height for all columns

If you like same height for all columns, please activate the checkbox.

If you want to add a CSS class to a specific column, you are welcome. How to find defined CSS classes is shown in the following figure.

Defined CSS classes

Defined CSS classes

Here you will find defined CSS classes:

  • Tab [Appearance] > field: CSS class (defined)

Page Media 

The extension Start adds the new content element "Page Media" to TYPO3.

This content element is very usefull for header images.

"Page Media" displays the first image of the field media of the current page.

If there isn't any record, it slides in the page tree to the top. If page of one of the next levels has a media record, the record of the nearest page will displayed.

Setup 

Please refer Administrators > Best Practice > Page Media

Social media icons 

Please refer to Users > Setup > Module

In page properties => tab "My Website" you've got 12 prepared fields for several social media links with default titles and icons. In addition you can use 3 variable fields.

All fields can take a custom title and/or custom icon.

Backend page properties: Edit social media icons

Socialmedia: insert a link in the field and use default icons and titles

Backend page properties: Edit social media icons

Socialmedia: without a link, no icon is displayed

Backend page properties: Edit social media icons

Socialmedia: use default icon and custom title

Backend page properties: Edit social media icons

Socialmedia: use custom icon and custom title

Frontend: social media icons example

Socialmedia: frontend view for these examples

Spell Check 

Start supports spell checking while writing. Unknown or wrong words will get a red underline. You can manage the substitution with

  • [CTRL] + right button of your mouse

Preconditions 

Content element with the tab [Style]

Content element with the tab [Style]

Styling 

Start extends content elements with the tab [Style]. See illustration above.

You can controll design properties like:

  • Background color
  • Colors
  • Effects
  • Forms
  • Hyphenation
  • Images

    • as circles
    • with shadow
  • Margins
  • Shadow of content elements
  • Text alignment

If you are using an extension of the start family like startgreen, you will get further classes.

Sample 

Please refer to Panels and Callouts

Visibility 

Controlling of the content visibility

Controlling of the content visibility

You can control the visibility of each content element.

Launch it! 

Please install Start TYPO3 Responsive! with Launch TYPO3 Responsive! You will get a ready-to-use website with sample pages, data and themes.

You can install it in an empty TYPO3 installation and you can install it in TYPO3 installations, which contains websites.

This launch runs with TYPO3 8.x, 9.x and 10.x.

See the workflow at Screenshots > Launch it!

Live 

You can test the launch at https://start-typo3-responsive.de/launch-it/launch-start-typo3-responsive/

Alternatives 

If you like a responsive website extended with a database for the lobbies and the organisers, you can use the TYPO3 distribution "Launch TYPO3 Gruene!" (launchstartgreen).

TYPO3 Gruene can manage events, locations and news among others. To get rid of the corporate design of the German party Bündnis 90/Die Grünen you have only to remove TYPO3 GRÜNE (startgreen) after the installation.

See details about TYPO3 Gruene at https://typo3-gruene.de

Workflow 

Live 

You can test the launch at https://start-typo3-responsive.de/launch-it/launch-typo3-gruene/

Extensions 

You need at least:

  • Foundation Framework (t3foundation)
  • Gridelements (gridelements)
  • Start TYPO3 Responsive! (start)

Please install it in the order above and enable it.

Gridelements 

You don't need to enter the needed gridelements manually :) but half automatically.

  • Add a folder for grid layouts. For example

    • Grid Layouts
  • Create backend layouts (use it only, if your table tx_gridelements_backend_layout is empty!)

    • edit typo3conf/ext/start/ext_tables_static+adt.sql
    • replace 'xyz' with the page id of your folder "backend layouts" from above
    • Copy the SQL statements from the file and paste it into PhpMyAdmin
    • Send the SQL statements
  • Create backend layouts icons

    • Copy the icons to the tx_gridelements folder in uploads:
cp -aR typo3conf/ext/start/Resources/Public/uploads/tx_gridelements/* uploads/tx_gridelements/
Copied!

Check the content of your folder "backend layouts". It should contain 8 backend layouts.

Start 

New Website 

Add a TypoScript template to your root page.

Existing Website 

Disable / hide the TypoScript template of your root page.

Both – existing and New Website 

Take your TypoScript root template:

  • Options - Clear: [X] Constants, [X] Setup - Rootlevel: [X]
  • Include the static templates
- Fluid Styled Content (fluid_styled_content) or CSS Styled Content (css_styled_content)
  • Gridelements (gridelements)
  • Foundation framework (t3foundation)
  • Start [1] (start)
  • Start [1] +Gridelements (start)
  • Start [2] Foundation (start)
  • Start [2] +Foundation Icons 3 (start)
- Configure some base properties like the base URL and language properties with the Constant Editor.
See: category [START - CONFIG]
- Configure the pid of your root page with the Constant Editor.
See: category [START - PAGES] > field: Root page: Your root page id

Pages 

Please install some dummy pages like

  • page 1
  • page 2

    • page 2.1
    • page 2.2
  • page 3

Backend Layouts 

You can disable all groups of backend layouts.

Disable all 

Disable all backend layouts. Overwrites all properties from below. Recommended, if you like to use only some features of Start and not the whole framework.

Enable Default 

Enable the default templates of the TYPO3 API. Not recommended.

Enable Wide 

Enable the wide templates of Start TYPO3 Responsive! Recommended.

Enable Mixed 

Enable the mixed templates of Start TYPO3 Responsive! Recommended.

Enable Slim 

Enable the slim templates of Start TYPO3 Responsive! Recommended.

Enable Slim Extended 

Enable the slim extended templates of Start TYPO3 Responsive! Recommended.

Enable Start Newsletter 

Enable the newsletter templates of Start TYPO3 Responsive! Recommended only, of you are using a newsletter extesion like direct mail.

Enable Start Deprecated 

Enable the deprecated templates of Start TYPO3 Responsive! Not recommended.

Backend Style 

You can disable the Corporate Design of TYPO3 Start at backend login.

Language 

You can select English or German. This has an effect only in the backend.

Module 

You can disable the Start TYPO3 in the Module > Web.

TCA 

Start extends and improves forms for backend tables. You can disable it. This is recommended, if you like to use only some features of Start and not the whole framework.

  • Backend Groups: Disable additional TCA properties for the table be_groups.
  • Backend Users: Disable additional TCA properties for the table be_users.
  • Content: Disable additional TCA properties for the table tt_content.
  • File Mounts:Disable additional TCA properties for the table sys_filemounts.
  • Pages: Disable additional TCA properties for the table pages.

Privacy 

Start doesn't stores any data.

Start supports you to provide websites conform with the General Data Protection Regulation - GDPR (German: Datenschutz-Grundverordnung - DSGVO)

Table of Contents

Forms 

You can place a link to the page with the General Data Protection Regulation - GDPR (German: Datenschutz-Grundverordnung - DSGVO) to the bottom of each form by TypoScript.

For example: You can add the TypoScript path from below to any Powermail TypoScript field.

Setup 

Constant Editor 

  • Category: START - PAGES
  • GDPR/DSGVO: uid of the page with the GDPR/DSGVO

TypoScript snippet 

// path for a Powermail TypoScript field
start.lib.gdpr_dsgvo
// snippet for the extension TypoScript code (typoscript_code)
10 < start.lib.gdpr_dsgvo
Copied!

Black 

Include the static template Black to your TypoScript:

  • Start [30.1] Theme Black (start)

Blue 

Include the static template Blue to your TypoScript:

  • Start [30.1] Theme Blue (start)

Orange 

Include the static template Orange to your TypoScript:

  • Start [30.1] Theme Orange (start)

Yellow 

Include the static template Yellow to your TypoScript:

  • Start [30.1] Theme Yellow (start)

Best Practice 

Table of Contents

Layout for folders 

EXT:start provides a layout for folder. This layout has the content area only.

If you like to set all pages of the doktype folder but module dmail to the backend layout folder, you can use the SQL statement from below.

Please make a backup of your pages table before run the update statement from below.

Analysis 

-- Count all modules from pages of doktype folder but module dmail
SELECT count(module), module FROM pages 
WHERE doktype = 254 
AND module != 'dmail'
GROUP BY module;

-- Count all backend_layouts from pages of doktype folder but module dmail
SELECT count(backend_layout), backend_layout FROM pages 
WHERE doktype = 254 
AND module != 'dmail'
GROUP BY backend_layout;

-- Display all pages of doktype folder but module dmail
SELECT uid, module, backend_layout, title FROM pages 
WHERE doktype = 254 
AND module != 'dmail'
ORDER BY module, backend_layout, title, uid;
Copied!

Update 

-- Update all pages of doktype folder but module dmail to backend_layout folder
UPDATE pages 
SET backend_layout = 'start__folder' 
WHERE doktype = 254
AND module != 'dmail';
Copied!

Further Information 

Slide and Inheritance 

If no content element is found by the select command, the rootLine will be traversed back until some content is found.

This is the behaviour of the backend layouts of the EXT:start by default.

You can disable this property by the Constant Editor. See

  • [START - VIEW - BE_LAYOUT - SLIDE]

CSS 

Own CSS file 

Include your CSS file like in the snippet below.

page.includeCSS {
	myOwnCSS = fileadmin/myown.css
}
Copied!

Bootstrap 

Start should run with a set up bootstrap framework.

Please include the needed static templates

  • start default templates
  • start bootstrap templates

Glyphicons 

If the running bootstrap framework doesn't provide the glyphicons font, please include the static template:

  • Start [10.1.2] Bootstrap Fonts

Further Informations 

Foundation 

Start should run with a set up foundation framework.

Please include the needed static templates

  • start default templates
  • start foundation templates

Start is optimised for foundation 5.x

Further Informations 

Modals 

Newsletter 

If you are interested in a ready-to-use newsletter popup, please refer to

Content Element 

Add to your root page a page "Modals".

  • Set both Backend Layouts – this page and subpages – to [Start Simple 1: | Main | ]
  • Move the page type from [Default] to [Folder].

Add to the folder "Modals" the folder "Contact" (in my sample the folder got the page id 8780).

Add to the content area of the folder "Contact" a content element:

  • General

    • Type: [Text & Images]
    • Header: Contact
    • Text: Your name, phone number and e-mail-address.
  • Images

    • Upload a portrait of you.
  • Appearance

    • Image Adjustments: Width: 100
    • Image Alignment: [Beside Text, Left]
    • Number of columns: [1]

CSS 

The modal can positioned absolute (scrollable) or fixed (non-scrollable).

You can configure it by

  • Constant Editor > Category [START - FOUNDATION - CSS - REVEAL-MODAL - POSITION]

Language / Localisation 

EXT:Start is configured for this languages by default:

  • English (0), German (1), French (2)

If the first language of your website is German, please include the static template:

  • Start [01.2.1] +Language: German

Than your languages are

  • German (0), English (1), French (2)

If you like to use other languages or another order, please configure

  • Constant Editor: [START - CONFIG - LANGUAGE]

Table of Contents

Language Menu 

EXT:Start supports the configuration of a language menu up to three languages by the Constant Editor.

Setup 

  • Constant Editor: [START - LIBRARY - LANGUAGE]

Content Element 

  • Type: [Start: Menus]
  • Menu: [Language (text only)]

HTML 

Layouts 

You are welcome to mix Backend Layouts and Grid Layouts like you need it. Please refer to

Columns width 

You can setup the width of margin and main columns supported by the Constant Editor.

See categories:

  • [START - TEMPLATES - GRID - 2 COLUMNS]
  • [START - TEMPLATES - GRID - 3 COLUMNS]

Fluid Templates 

Use your own fluid templates. See Constant Editor > START – TEMPLATES*

Website 

Title tag 

You can change the behaviour of the HTML title tag by the Constant Editor.

See category [START - CONFIG] properties:

  • No page title
  • Page title first

Page 

Backend layouts have rows for

  • header
  • top
  • content
  • bottom
  • footer

You can add CSS classes to these rows by the Constant Editor. See below.

Setup 

  • Constant Editor > [START - FOUNDATION - GRID]

Example 

Add the class "expanded": a row will get full width (100 per cent)

Further Information 

API (tt_content) 

Start TYPO3 Responsive can extend tt_content elements images and images/text with a responsive lightbox feature.

This feature is based on the responsive framework Foundation.

Setup 

  • Constant Editor > category: [START - TEMPLATES - IMAGE - FOUNDATION]
  • [X] Enable Lightbox: Images will rendered as clearing-thumbs

Caution! 

If you enable the lightbox property from above, the HTML of all images (tt_content) of the entire webiste will changed.

If you have any unexpected behaviour, please disable the lightbox property.

Calendar, Locations, News, Organisers (EXT:org) 

If your are using the Organiser – TYPO3 for the lobby and the organisers – lightbox features are integrated.

You have nothing to do.

News (EXT:tx_news) 

Start TYPO3 Responsive can extend news images (EXT:tx_news) with a responsive lightbox feature.

This feature is based on the responsive framework Foundation.

Setup 

You have to include the static Template:

  • [Start [20.5.1] txnews images +lightbox (Foundation)]

Caution! 

If you include the template from above, the HTML of all news images (tx_news) of the entire webiste will changed.

If you have any unexpected behaviour, please remove the template.

Quick Shop (EXT:quickshop) 

If your are using the Quick Shop – E-Commerce with TYPO3 – lightbox features are integrated.

You have nothing to do.

Categories 

The templates of Start can handle up to three newsletter categories.

Table of Contents

Exclusive 

If you like to use one newsletter category only (the default one), you have nothing to do than to disable the powermail field, which is called "newsletter".

Rename 

If you have extended Start with "Launch Direct Mail!" four newsletter categories are available:

  • Default
  • Angestellte (employees)
  • Beamte (officials)
  • Selbständige (self-employed)

If you want to rename a category, you have to configure three parts:

  • the newsletter category
  • the powermail field
  • the constant editor

Direct Mail Categories 

Rename the direct mail category.

Powermail 

Look for the checkbox field which is called "newsletter". Rename the newsletter categories depending on the changing from above.

Constant Editor 

Please look for the category:

  • [START - DIRECT_MAIL - CATEGORIES]

Extensions 

You need this extensions for this sample:

  • Address List (tt_address) - optional
  • Direct Mail (direct_mail)
  • Scheduler (scheduler)
  • TYPO3 GRÜNE (startgreen) - optional

Dialog 

Start opens a popup (modal) to point to the newsletter subscription form.

The popup opens after 10 seconds. If the user clicks a button, the popup won't never open again. If the user is clearing a corresponding cookie, the popup will open again.

Conditions 

  • The uid of the page is set, which contains the newsletter subscription form.
  • The popup is enabled.

Setup 

Constant Editor 

  • Module > Web > Templates
  • Page tree: root page
  • Edit area:

    • [Constanten Editor]
    • Category: [START - PAGES]

      • Newsletter: uid of the page with the newsletter subscription form
    • Category: [START - FOUNDATION - NEWSLETTER]

      • Popup: enabled

CSS 

See @ Administrators > First Steps > Modals > CSS

Page Media 

If there is any need to adapt the content element "Page Media" to your needs, please setup the TypoScript code from below.

Setup 

tt_content {
	txStartPagemedia = FILES
	txStartPagemedia {
		references {
			data = levelmedia:-1, slide
		}
		renderObj = COA
		renderObj {
			10 = IMAGE
			10 {
				file {
					crop.data = file:current:crop
					import {
						data = file:current:publicUrl
					}
					height = {$start.lib.pagemedia.height}
					width = {$start.lib.pagemedia.width}
				}
				stdWrap.typolink.parameter.data = file:current:link
				begin = 0
				maxItems = 1
			} 
		}
	} 
}
Copied!

RSS Icon 

If you are providing a RSS feed, it is easy to display a RSS icon in the frontend on the top right. You have nothing to but to enter the page id of the rss feed at

  • Constant Editor > Category [START - PAGES] > RSS

How to provide a RSS feed? 

If you want know, how to provide a RSS feed, please refer to the sample in the manual of the Organiser (ext:org).

See: Administrators > Best Practice > RSS feeds Tag @ https://docs.typo3.org/typo3cms/extensions/org/

Additional Plugins 

Start extends the Rich Text Editor with additional features and plugins.

If you like these features, please include a page TypoScript at the root page:

  • Start [1.0.0] RTE with additional plugins

Current Features 

RTE with color button

RTE with color button

  • Color Button: See illustration above
  • Spell checking while writing. See details @ RTE > Spell check

Search, spell check, youtube 

You can extend the Rich Text Editor with the features:

  • Search and replace
  • Spell Checking
  • Youtube plugin

Setup 

You have to include the page TypoScript at the root page:

  • Start [1.0.0] RTE with search, spellchecking and youtube

There is another page TypoScript with more options. See @ RTE > Plugins

Spell Checking 

Precondition: The Browser of the user supports spell checking

Youtube plugin 

You can place Youtube videos everywhere in the bodytext.

BE AWARE: A direct use of youtube code causes your visitor's data to flow to youtube (google). Please check the GDPR (DSGVO) statement on your website, if it contains any reference.

Search Engine 

If you like a search enginge for the whole website, EXT:ke_search is recommended. But you can use any other search engine too.

Table of Contents

Extensions 

Needed 

  • Faceted Search (EXT:ke_search)

Recommendend in case of EXT:org 

With EXT:browser 

  • Faceted Search Organiser Cal Browser (EXT:ke_search_orgcal_browser)
  • Faceted Search Organiser News Browser (EXT:ke_search_orgnews_browser)

With EXT:xblog 

  • Faceted Search Organiser Cal Xblog (EXT:ke_search_orgcal_xblog)
  • Faceted Search Organiser News xBlog (EXT:ke_search_orgnews_xblog)
Constant Editor with SCSS properties

Constant Editor with SCSS properties

Constant Editor 

If you like to adapt CSS to your needs, you don't must edit CSS or SCSS directly.

You can configure most of the common properties by the TypoScript Constant Editor (see illustration above). You can use CSS values like '#00FFFF' or SCSS variables like '$primary-color'.

These features have SCSS properties by the Constant Editor:

  • accordion
  • body
  • breadcrumbs
  • breakpoint
  • button
  • callout
  • color palette
  • dropdown-menu
  • footer
  • global
  • menu
  • megamenu
  • metamenu
  • off-canvas
  • orbit
  • pagination
  • reveal
  • sidebar
  • sitelinetop
  • table
  • tabs
  • titlebar
  • top-bar
  • typografy

Own Variables 

If you like to use other SCSS variables then the predefined, you can extend your TypoScript. This saves effort, if a variable is used in SCSS.

Sample 

The variable $my-content-border is defined in some.scss like

$my-content-border = 1px solid #FDFDFD !default;

 
Copied!

You can allocate your value by this code in the TypoScript setup:

lib.scssVariables.my-content-border = 1px solid smart-scale($topbar-background, 20%, 40%) 
Copied!

Clean up CSS 

See Administrators > Best practice > SCSS > Clean up

Clean up CSS 

If CSS won't updated, you must remove temporary compiled CSS files by:

  • Modul Admin > Remove Temporary Assets
  • Remove temp-file.css

Page Media 

Start provides a snippet for adding a resource from a page everywhere in your TypoScript code.

The code samples below illustrates both:

  • the ready-to-use snippet (template)
  • the replace of content in the header section

Template 

  • start.lib.pagemedia
start {
    // pagemedia
  lib =
  lib {
    pagemedia = FILES
    pagemedia {
      begin  = 0
      maxItems = 1
      references {
        data = levelmedia:-1, slide
      }
      renderObj = COA
      renderObj {
        10 = IMAGE
        10 {
          file {
            crop.data = file:current:crop
            import {
              data = file:current:publicUrl
            }
            height = {$start.lib.pagemedia.height}
            width = {$start.lib.pagemedia.width}
          }
          stdWrap.typolink.parameter.data = file:current:link
        } 
      }
    } 
  }
}
Copied!

Replacement of content in the header section 

Please refer to the line below:

  • 30 < start.lib.pagemedia
start.structure.header.main.20.20 {
  // Remove both cells: Logo, Party/Organisation
  10 >
  20 >
  // Add an image of the page resource
  30 < start.lib.pagemedia
  30 {
    // Take the second image of the page ressource
    begin = 1
    renderObj.10.file {
      // Set the default value for the height to 100 pixel
      height = 100
      // Remove the default value for the width
      width >
    }
  }
  // Additional HTML div-wrap with class column
  wrap = <div class="row green-devision"><!-- start.structure.header.main.20 //--><div class="cols columns">|</div></div>
}
Copied!

Own Theme 

If you like to create your own theme, there are two ways:

A Tempate for example could be:

  • EXT:start/Configuration/TypoScript/Theme/Black/constants.txt
start.foundation.scss.body.body-background                  = #030600
start.foundation.scss.body.body-font-color                  = #f8f8f8

start.foundation.scss.colorpalette.primary                  = #e0d8c3

start.foundation.scss.metamenu.metamenu-dropdown            = $white
start.foundation.scss.metamenu.metamenu-search-color        = $white
start.foundation.scss.metamenu.metamenu-search-placeholder  = rgba($white, 0.5)

start.foundation.scss.offcanvas.offcanvas-exit-background   = rgba($black, 0.8)

start.foundation.scss.reveal.reveal-background              = $topbar-background

start.foundation.scss.table.table-background                = smart-scale($body-background, 20%, 40%)

start.foundation.scss.topbar.topbar-background              = #777a72
Copied!

FileCollector::addFileObject() 

Prompt 

Argument 1 passed to TYPO3CMSFrontendResourceFileCollector::addFileObject() must implement interface TYPO3CMSCoreResourceFileInterface, boolean given, called in .../typo3/sysext/frontend/Classes/Resource/FileCollector.php on line 118

Cause 

Unproper configuration of a relation to a file.

Solution 

Probably the page resource media is linked with a file, which is deleted. Please delete the relation at page resource media.

Undefined variable $black 

Prompt 

Undefined variable $black: ...

Cause 

SCSS of EXT:t3foundation will processed before SCSS of EXT:start

Solution 

Please take care of the order of the Include Static Templates:

  1. EXT:start
  2. EXT:t3foundation

Backend Layouts 

Overview 

backend_layout

SELECT
  count(`backend_layout`) as sum,
  `backend_layout`
FROM
  pages
WHERE 
  `backend_layout` != ''
GROUP BY
  `backend_layout`
ORDER BY
  `backend_layout`;
  
Copied!

backend_layout_next_level

SELECT
  count(`backend_layout_next_level`) as sum,
  `backend_layout_next_level`
FROM
  pages
WHERE 
  `backend_layout_next_level` != ''
GROUP BY
  `backend_layout_next_level`
ORDER BY
  `backend_layout_next_level`;
  
Copied!

Update 

backend_layout

UPDATE `pages` SET `backend_layout` = 'start__mixed_01' WHERE `backend_layout` = 'start__blue_01';
UPDATE `pages` SET `backend_layout` = 'start__mixed_01_01_lr' WHERE `backend_layout` = 'start__blue_01_01_lr';
UPDATE `pages` SET `backend_layout` = 'start__mixed_01_02_r' WHERE `backend_layout` = 'start__blue_01_02_r';
UPDATE `pages` SET `backend_layout` = 'start__mixed_01_03_l' WHERE `backend_layout` = 'start__blue_01_03_l';
UPDATE `pages` SET `backend_layout` = 'start__mixed_02' WHERE `backend_layout` = 'start__blue_02';
UPDATE `pages` SET `backend_layout` = 'start__mixed_03' WHERE `backend_layout` = 'start__blue_03';
UPDATE `pages` SET `backend_layout` = 'start__mixed_09_gcms' WHERE `backend_layout` = 'start__bronze_02_gcms';
UPDATE `pages` SET `backend_layout` = 'start__wide_01' WHERE `backend_layout` = 'start__blue_04';
UPDATE `pages` SET `backend_layout` = 'start__wide_01_bottom' WHERE `backend_layout` = 'start__blue_04_bottom';
UPDATE `pages` SET `backend_layout` = 'start__wide_01_top' WHERE `backend_layout` = 'start__blue_04_top';
UPDATE `pages` SET `backend_layout` = 'start__wide_01_wo' WHERE `backend_layout` = 'start__blue_04_wo';
UPDATE `pages` SET `backend_layout` = 'start__mixed_05' WHERE `backend_layout` = 'start__blue_05';
UPDATE `pages` SET `backend_layout` = 'start__mixed_05_01_lr' WHERE `backend_layout` = 'start__blue_05_01_lr';
UPDATE `pages` SET `backend_layout` = 'start__mixed_05_02_r' WHERE `backend_layout` = 'start__blue_05_02_r';
UPDATE `pages` SET `backend_layout` = 'start__mixed_05_03_l' WHERE `backend_layout` = 'start__blue_05_03_l';
UPDATE `pages` SET `backend_layout` = 'start__slim_01' WHERE `backend_layout` = 'start__bronze_01';
UPDATE `pages` SET `backend_layout` = 'start__slim_02' WHERE `backend_layout` = 'start__bronze_02';
UPDATE `pages` SET `backend_layout` = 'start__slim_03' WHERE `backend_layout` = 'start__bronze_03';
UPDATE `pages` SET `backend_layout` = 'start__slim_04' WHERE `backend_layout` = 'start__bronze_04';
UPDATE `pages` SET `backend_layout` = 'start__slim_extended_04' WHERE `backend_layout` = 'start__silver_04';
UPDATE `pages` SET `backend_layout` = 'start__slim_extended_05' WHERE `backend_layout` = 'start__silver_05';
UPDATE `pages` SET `backend_layout` = 'start__slim_extended_06' WHERE `backend_layout` = 'start__silver_06';
UPDATE `pages` SET `backend_layout` = 'start__slim_extended_07' WHERE `backend_layout` = 'start__silver_07';
UPDATE `pages` SET `backend_layout` = 'start__slim_extended_08' WHERE `backend_layout` = 'start__silver_08';
UPDATE `pages` SET `backend_layout` = 'start__slim_extended_09' WHERE `backend_layout` = 'start__silver_09';
Copied!

backend_layout_next_level

UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_01' WHERE `backend_layout_next_level` = 'start__blue_01';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_01_01_lr' WHERE `backend_layout_next_level` = 'start__blue_01_01_lr';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_01_02_r' WHERE `backend_layout_next_level` = 'start__blue_01_02_r';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_01_03_l' WHERE `backend_layout_next_level` = 'start__blue_01_03_l';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_02' WHERE `backend_layout_next_level` = 'start__blue_02';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_03' WHERE `backend_layout_next_level` = 'start__blue_03';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_09_gcms' WHERE `backend_layout` = 'start__bronze_02_gcms';
UPDATE `pages` SET `backend_layout_next_level` = 'start__wide_01' WHERE `backend_layout_next_level` = 'start__blue_04';
UPDATE `pages` SET `backend_layout_next_level` = 'start__wide_01_bottom' WHERE `backend_layout_next_level` = 'start__blue_04_bottom';
UPDATE `pages` SET `backend_layout_next_level` = 'start__wide_01_top' WHERE `backend_layout_next_level` = 'start__blue_04_top';
UPDATE `pages` SET `backend_layout_next_level` = 'start__wide_01_wo' WHERE `backend_layout_next_level` = 'start__blue_04_wo';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_05' WHERE `backend_layout_next_level` = 'start__blue_05';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_05_01_lr' WHERE `backend_layout_next_level` = 'start__blue_05_01_lr';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_05_02_r' WHERE `backend_layout_next_level` = 'start__blue_05_02_r';
UPDATE `pages` SET `backend_layout_next_level` = 'start__mixed_05_03_l' WHERE `backend_layout_next_level` = 'start__blue_05_03_l';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_01' WHERE `backend_layout_next_level` = 'start__bronze_01';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_02' WHERE `backend_layout_next_level` = 'start__bronze_02';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_03' WHERE `backend_layout_next_level` = 'start__bronze_03';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_04' WHERE `backend_layout_next_level` = 'start__bronze_04';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_extended_04' WHERE `backend_layout_next_level` = 'start__silver_04';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_extended_05' WHERE `backend_layout_next_level` = 'start__silver_05';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_extended_06' WHERE `backend_layout_next_level` = 'start__silver_06';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_extended_07' WHERE `backend_layout_next_level` = 'start__silver_07';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_extended_08' WHERE `backend_layout_next_level` = 'start__silver_08';
UPDATE `pages` SET `backend_layout_next_level` = 'start__slim_extended_09' WHERE `backend_layout_next_level` = 'start__silver_09';
Copied!

CSS 

CSS class '.panel' 

10.3.0

CSS class .panel is removed since foundation 6.x. It must replaced by .callout

Have I used the class '.panel'? 

Please send this queries to your database. If you have used .panel, you will get some hits.

SELECT
  uid,
  pid,
  header,
  tx_start_additionalclassdefined,
  tx_start_classpanel
FROM
  tt_content
WHERE
  (
        tx_start_additionalclassdefined LIKE '%panel%' 
    OR  tx_start_classpanel LIKE '%panel%'
  );
Copied!
SELECT
  uid,
  pid,
  header,
  bodytext,
  pi_flexform

FROM
  tt_content
WHERE
  (
        bodytext LIKE '%panel%'
    OR  pi_flexform LIKE '%panel%'
  );
Copied!

Replace '.panel' with '.callout' 

tx_start_additionalclassdefined

UPDATE
  tt_content
SET
  tx_start_additionalclassdefined =
REPLACE
  (
    tx_start_additionalclassdefined,
    'panel',
    'callout'
  )
WHERE
  tx_start_additionalclassdefined LIKE '%panel%'
-- AND uid = 35666
Copied!

tx_start_classpanel

UPDATE
  tt_content
SET
  tx_start_classpanel =
REPLACE
  (
    tx_start_classpanel,
    'panel',
    'callout'
  )
WHERE
  tx_start_classpanel LIKE '%panel%'
-- AND uid = 47640
Copied!

pi_flexform

UPDATE
  tt_content
SET
  pi_flexform =
REPLACE
  (
    pi_flexform,
    'panel',
    'callout'
  )
WHERE
  pi_flexform LIKE '%panel%'
-- AND uid = 47640
Copied!

bodytext

UPDATE
  tt_content
SET
  bodytext =
REPLACE
  (
    bodytext,
    'panel',
    'callout'
  )
WHERE
  bodytext LIKE '%panel%'
-- AND uid = 47640
Copied!

8.2 

8.0.28

New behaviour: If left or right columns are empty, an empty placeholder will set with 1px height. That <div> affects, that the empty column will displayed in full width.

If you don't like this effect, please add this property to your CSS file:

.startVisHiddenHeight1 { display: none; }
Copied!

TypoScript

If you have configured the TypoScript properties from below, YOU MUST update your configuration!

start.structure.content.left.20 is moved from CONTENT to COA
start.structure.content.right.20 is moved from CONTENT to COA
Copied!

Grid Elements 

The configuration of Grid Elements by database records is obsolete. You should update your database.

If you will have numbers as ids in the field tx_gridelements_backend_layout, you should replace these ids with the corresponding id-label.

The new id-labels 

  • startAccordion
  • startCol01
  • startCol02
  • startCol03
  • startCol04
  • startCol05
  • startCol06
  • startTab

Setup 

Analysis 

Queries below are for information only. You can skip this paragraph and go to the next one: Upgrade

Count all used grid elements 

-- Count all used grid elements: accordions, columns and tabs
SELECT count(`uid`) AS '#', `CType`, `tx_gridelements_backend_layout`
FROM `tt_content`
WHERE `CType` LIKE 'gridelements_pi1'
GROUP BY `tx_gridelements_backend_layout`
ORDER BY `tx_gridelements_backend_layout`

-- Count all accordions
-- Uid for element 'accordion and tab' is 11 in the code below
SELECT count(`uid`) AS '#', `CType`, `tx_gridelements_backend_layout`
FROM `tt_content`
WHERE `CType` LIKE 'gridelements_pi1'
AND `tx_gridelements_backend_layout` = '11'
AND `pi_flexform` LIKE '%accordion%'
GROUP BY `tx_gridelements_backend_layout`
ORDER BY `tx_gridelements_backend_layout`

-- Count all tabs
-- Uid for element 'accordion and tab' is 11 in the code below
SELECT count(`uid`) AS '#', `CType`, `tx_gridelements_backend_layout`
FROM `tt_content`
WHERE `CType` LIKE 'gridelements_pi1'
AND `tx_gridelements_backend_layout` = '11'
AND `pi_flexform` NOT LIKE '%accordion%'
GROUP BY `tx_gridelements_backend_layout`
ORDER BY `tx_gridelements_backend_layout`
Copied!

List all used grid elements 

-- List all used grid elements: accordions, columns and tabs
SELECT `uid`, `pid`, `CType`, `tx_gridelements_backend_layout`
FROM `tt_content`
WHERE `CType` LIKE 'gridelements_pi1'

-- List all accordions
-- Uid for element 'accordion and tab' is 11 in the code below
SELECT `uid`, `pid`, `CType`, `tx_gridelements_backend_layout`
FROM `tt_content`
WHERE `CType` LIKE 'gridelements_pi1'
AND `tx_gridelements_backend_layout` = '11'
AND `pi_flexform` LIKE '%accordion%'

-- List all tabs
-- Uid for element 'accordion and tab' is 11 in the code below
SELECT `uid`, `pid`, `CType`, `tx_gridelements_backend_layout`
FROM `tt_content`
WHERE `CType` LIKE 'gridelements_pi1'
AND `tx_gridelements_backend_layout` = '11'
AND `pi_flexform` NOT LIKE '%accordion%'
Copied!

Upgrade 

Backup tt_content 

Before you start: backup your table tt_content.

List configured grid elements 

SELECT `uid`, `pid`, `title`
FROM `tx_gridelements_backend_layout`
Copied!

Create the SQL UPDATE-queries 

Assign the uids form the query above to the uid-lables like in the table below.

If you would like to receive the UPDATE queries automatically, please use this file:

Grid Element Uid Uid-Label SQL Statement
Start: Columns 1 1 startCol01 UPDATE tt_content SET tx_gridelements_backend_layout = 'startCol01' WHERE tx_gridelements_backend_layout = '1';
Start: Columns 2 2 startCol02 UPDATE tt_content SET tx_gridelements_backend_layout = 'startCol02' WHERE tx_gridelements_backend_layout = '2';
Start: Columns 3 3 startCol03 UPDATE tt_content SET tx_gridelements_backend_layout = 'startCol03' WHERE tx_gridelements_backend_layout = '3';
Start: Columns 4 4 startCol04 UPDATE tt_content SET tx_gridelements_backend_layout = 'startCol04' WHERE tx_gridelements_backend_layout = '4';
Start: Columns 5 5 startCol05 UPDATE tt_content SET tx_gridelements_backend_layout = 'startCol05' WHERE tx_gridelements_backend_layout = '5';
Start: Columns 6 6 startCol06 UPDATE tt_content SET tx_gridelements_backend_layout = 'startCol06' WHERE tx_gridelements_backend_layout = '6';
Start: Accordion & Tabs 11 startAccordion UPDATE tt_content SET tx_gridelements_backend_layout = 'startAccordion' WHERE tx_gridelements_backend_layout = '11' AND pi_flexform LIKE '%accordion%';
Start: Accordion & Tabs 11 startTab UPDATE tt_content SET tx_gridelements_backend_layout = 'startTab' WHERE tx_gridelements_backend_layout = '11' AND pi_flexform NOT LIKE '%accordion%';

Copy the SQL statements and paste it into your PhpMyAdmin application or into your SQL CLI.

Hide Headers 

Headings and titles of elements within the grid are shown as labels in the accordions, tabs and also in the content. This is a new behavior.

If you don't like to display headers in the content, you can set the headers to hidden by executing the UPDATE-query from below.

-- Display all elements, which are part of an accordion or a tab
SELECT t1.uid, t1.pid, t1.header, t1.header_layout
FROM  tt_content t1
INNER JOIN tt_content t2 
ON t1.tx_gridelements_container = t2.uid
AND t2.CType LIKE 'gridelements_pi1'
AND (t2.tx_gridelements_backend_layout = 'startTab' OR t2.tx_gridelements_backend_layout = 'startAccordion')
-- AND t1.pid = 11710

-- Set header to hidden by all elements, which are part of an accordion or a tab
UPDATE tt_content t1
INNER JOIN tt_content t2 
ON t1.tx_gridelements_container = t2.uid
AND t2.CType LIKE 'gridelements_pi1'
AND (t2.tx_gridelements_backend_layout = 'startTab' OR t2.tx_gridelements_backend_layout = 'startAccordion')
-- AND t1.pid = 11710
SET t1.header_layout = 100
Copied!

Clean Up 

Don't forget to clean up the Grid Elements. See next section

Clean Up 

You should remove all records from the table tx_gridelements_backend_layout. Otherwise, users can still select the outdated grid elements.

Backup 

Before you start: backup your tables:

  • pages
  • tx_gridelements_backend_layout

List configured grid elements 

-- Get all folders
SELECT * 
FROM  pages
WHERE doktype = 254 
AND uid IN (
	SELECT `pid`
	FROM `tx_gridelements_backend_layout`
	GROUP BY `pid`
	ORDER BY `pid`
);

-- Get all configuration records
SELECT `uid`, `pid`, `title`
FROM `tx_gridelements_backend_layout`;
Copied!

Remove configured grid elements 

-- First: delete pages
DELETE FROM  pages
WHERE doktype = 254
AND uid IN (
	SELECT `pid`
	FROM `tx_gridelements_backend_layout`
	GROUP BY `pid`
	ORDER BY `pid`
);

-- Second: delete records
DELETE FROM `tx_gridelements_backend_layout`;
Copied!

Grid Elements 

Gridelements got the new properties in EXT:start version 5.3.0:

  • CSS classes for columns
  • Same height for all columns

If you like to use the new features, you must update the XML-code for the gridelements flexforms.

Workflow 

Look for the folder, where the layouts of the gridelements are stored. Usually a folder named "Layouts" in your page tree.

Copy the code from below into the field "Content Element Configuration: Flexform Configuration" at the tab [Configuration].

That's all.

Sorry for the trouble.

Code 

Start: Columns 2 

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
	<meta>
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">
		<type>array</type>
		<el type="array">
			<class type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.class</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</class>
			<samecolumnheight type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.samecolumnheight</label>
					<config type="array">
						<type>check</type>
						<default>0</default>
					</config>
				</TCEforms>
			</samecolumnheight>
			<columnslarge type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnslarge</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index="0" type="array">
								<numIndex index="0">2|10</numIndex>
								<numIndex index="1">2/10</numIndex>
							</numIndex>
							<numIndex index="1" type="array">
								<numIndex index="0">3|9</numIndex>
								<numIndex index="1">3/9</numIndex>
							</numIndex>
							<numIndex index="2" type="array">
								<numIndex index="0">4|8</numIndex>
								<numIndex index="1">4/8</numIndex>
							</numIndex>
							<numIndex index="3" type="array">
								<numIndex index="0">5|7</numIndex>
								<numIndex index="1">5/7</numIndex>
							</numIndex>
							<numIndex index="4" type="array">
								<numIndex index="0">6|6 (recommended)</numIndex>
								<numIndex index="1">6/6</numIndex>
							</numIndex>
							<numIndex index="5" type="array">
								<numIndex index="0">7|5</numIndex>
								<numIndex index="1">7/5</numIndex>
							</numIndex>
							<numIndex index="6" type="array">
								<numIndex index="0">8|4</numIndex>
								<numIndex index="1">8/4</numIndex>
							</numIndex>
							<numIndex index="7" type="array">
								<numIndex index="0">9|3</numIndex>
								<numIndex index="1">9/3</numIndex>
							</numIndex>
							<numIndex index="8" type="array">
								<numIndex index="0">10|2</numIndex>
								<numIndex index="1">10/2</numIndex>
							</numIndex>
							<numIndex index="9" type="array">
								<numIndex index="0">12</numIndex>
								<numIndex index="1">12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnslarge>
			<columnsmedium type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnsmedium</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index="0" type="array">
								<numIndex index="0">2|10</numIndex>
								<numIndex index="1">2/10</numIndex>
							</numIndex>
							<numIndex index="1" type="array">
								<numIndex index="0">3|9</numIndex>
								<numIndex index="1">3/9</numIndex>
							</numIndex>
							<numIndex index="2" type="array">
								<numIndex index="0">4|8</numIndex>
								<numIndex index="1">4/8</numIndex>
							</numIndex>
							<numIndex index="3" type="array">
								<numIndex index="0">5|7</numIndex>
								<numIndex index="1">5/7</numIndex>
							</numIndex>
							<numIndex index="4" type="array">
								<numIndex index="0">6|6 (recommended)</numIndex>
								<numIndex index="1">6/6</numIndex>
							</numIndex>
							<numIndex index="5" type="array">
								<numIndex index="0">7|5</numIndex>
								<numIndex index="1">7/5</numIndex>
							</numIndex>
							<numIndex index="6" type="array">
								<numIndex index="0">8|4</numIndex>
								<numIndex index="1">8/4</numIndex>
							</numIndex>
							<numIndex index="7" type="array">
								<numIndex index="0">9|3</numIndex>
								<numIndex index="1">9/3</numIndex>
							</numIndex>
							<numIndex index="8" type="array">
								<numIndex index="0">10|2</numIndex>
								<numIndex index="1">10/2</numIndex>
							</numIndex>
							<numIndex index="9" type="array">
								<numIndex index="0">12</numIndex>
								<numIndex index="1">12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnsmedium>
			<columnssmall type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnssmall</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index="0" type="array">
								<numIndex index="0">2|10</numIndex>
								<numIndex index="1">2/10</numIndex>
							</numIndex>
							<numIndex index="1" type="array">
								<numIndex index="0">3|9</numIndex>
								<numIndex index="1">3/9</numIndex>
							</numIndex>
							<numIndex index="2" type="array">
								<numIndex index="0">4|8</numIndex>
								<numIndex index="1">4/8</numIndex>
							</numIndex>
							<numIndex index="3" type="array">
								<numIndex index="0">5|7</numIndex>
								<numIndex index="1">5/7</numIndex>
							</numIndex>
							<numIndex index="4" type="array">
								<numIndex index="0">6|6</numIndex>
								<numIndex index="1">6/6</numIndex>
							</numIndex>
							<numIndex index="5" type="array">
								<numIndex index="0">7|5</numIndex>
								<numIndex index="1">7/5</numIndex>
							</numIndex>
							<numIndex index="6" type="array">
								<numIndex index="0">8|4</numIndex>
								<numIndex index="1">8/4</numIndex>
							</numIndex>
							<numIndex index="7" type="array">
								<numIndex index="0">9|3</numIndex>
								<numIndex index="1">9/3</numIndex>
							</numIndex>
							<numIndex index="8" type="array">
								<numIndex index="0">10|2</numIndex>
								<numIndex index="1">10/2</numIndex>
							</numIndex>
							<numIndex index="9" type="array">
								<numIndex index="0">12 (recommended)</numIndex>
								<numIndex index="1">12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnssmall>
			<classCol00 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol00</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol00>
			<classCol01 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol01</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol01>
		</el>
	</ROOT>
</T3DataStructure>
Copied!

Start: Columns 3 

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
	<meta>
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">
		<type>array</type>
		<el type="array">
			<class type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.class</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</class>
			<samecolumnheight type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.samecolumnheight</label>
					<config type="array">
						<type>check</type>
						<default>0</default>
					</config>
				</TCEforms>
			</samecolumnheight>
			<columnslarge type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnslarge</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index="0" type="array">
								<numIndex index="0">3|3|6</numIndex>
								<numIndex index="1">3/3/6</numIndex>
							</numIndex>
							<numIndex index="1" type="array">
								<numIndex index="0">3|4|5</numIndex>
								<numIndex index="1">3/4/5</numIndex>
							</numIndex>
							<numIndex index="2" type="array">
								<numIndex index="0">3|5|4</numIndex>
								<numIndex index="1">3/5/4</numIndex>
							</numIndex>
							<numIndex index="3" type="array">
								<numIndex index="0">3|6|3</numIndex>
								<numIndex index="1">3/6/3</numIndex>
							</numIndex>
							<numIndex index="4" type="array">
								<numIndex index="0">4|3|5</numIndex>
								<numIndex index="1">4/3/5</numIndex>
							</numIndex>
							<numIndex index="5" type="array">
								<numIndex index="0">4|4|4 (recommended)</numIndex>
								<numIndex index="1">4/4/4</numIndex>
							</numIndex>
							<numIndex index="6" type="array">
								<numIndex index="0">4|5|3</numIndex>
								<numIndex index="1">4/5/3</numIndex>
							</numIndex>
							<numIndex index="7" type="array">
								<numIndex index="0">5|3|4</numIndex>
								<numIndex index="1">5/3/4</numIndex>
							</numIndex>
							<numIndex index="8" type="array">
								<numIndex index="0">5|4|3</numIndex>
								<numIndex index="1">5/4/3</numIndex>
							</numIndex>
							<numIndex index="9" type="array">
								<numIndex index="0">6|3|3</numIndex>
								<numIndex index="1">6/3/3</numIndex>
							</numIndex>
							<numIndex index="10" type="array">
								<numIndex index="0">12</numIndex>
								<numIndex index="1">12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnslarge>
			<columnsmedium type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnsmedium</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index="0" type="array">
								<numIndex index="0">3|3|6</numIndex>
								<numIndex index="1">3/3/6</numIndex>
							</numIndex>
							<numIndex index="1" type="array">
								<numIndex index="0">3|4|5</numIndex>
								<numIndex index="1">3/4/5</numIndex>
							</numIndex>
							<numIndex index="2" type="array">
								<numIndex index="0">3|5|4</numIndex>
								<numIndex index="1">3/5/4</numIndex>
							</numIndex>
							<numIndex index="3" type="array">
								<numIndex index="0">3|6|3</numIndex>
								<numIndex index="1">3/6/3</numIndex>
							</numIndex>
							<numIndex index="4" type="array">
								<numIndex index="0">4|3|5</numIndex>
								<numIndex index="1">4/3/5</numIndex>
							</numIndex>
							<numIndex index="5" type="array">
								<numIndex index="0">4|4|4 (recommended)</numIndex>
								<numIndex index="1">4/4/4</numIndex>
							</numIndex>
							<numIndex index="6" type="array">
								<numIndex index="0">4|5|3</numIndex>
								<numIndex index="1">4/5/3</numIndex>
							</numIndex>
							<numIndex index="7" type="array">
								<numIndex index="0">5|3|4</numIndex>
								<numIndex index="1">5/3/4</numIndex>
							</numIndex>
							<numIndex index="8" type="array">
								<numIndex index="0">5|4|3</numIndex>
								<numIndex index="1">5/4/3</numIndex>
							</numIndex>
							<numIndex index="9" type="array">
								<numIndex index="0">6|3|3</numIndex>
								<numIndex index="1">6/3/3</numIndex>
							</numIndex>
							<numIndex index="10" type="array">
								<numIndex index="0">12</numIndex>
								<numIndex index="1">12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnsmedium>
			<columnssmall type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnssmall</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index="0" type="array">
								<numIndex index="0">3|3|6</numIndex>
								<numIndex index="1">3/3/6</numIndex>
							</numIndex>
							<numIndex index="1" type="array">
								<numIndex index="0">3|4|5</numIndex>
								<numIndex index="1">3/4/5</numIndex>
							</numIndex>
							<numIndex index="2" type="array">
								<numIndex index="0">3|5|4</numIndex>
								<numIndex index="1">3/5/4</numIndex>
							</numIndex>
							<numIndex index="3" type="array">
								<numIndex index="0">3|6|3</numIndex>
								<numIndex index="1">3/6/3</numIndex>
							</numIndex>
							<numIndex index="4" type="array">
								<numIndex index="0">4|3|5</numIndex>
								<numIndex index="1">4/3/5</numIndex>
							</numIndex>
							<numIndex index="5" type="array">
								<numIndex index="0">4|4|4</numIndex>
								<numIndex index="1">4/4/4</numIndex>
							</numIndex>
							<numIndex index="6" type="array">
								<numIndex index="0">4|5|3</numIndex>
								<numIndex index="1">4/5/3</numIndex>
							</numIndex>
							<numIndex index="7" type="array">
								<numIndex index="0">5|3|4</numIndex>
								<numIndex index="1">5/3/4</numIndex>
							</numIndex>
							<numIndex index="8" type="array">
								<numIndex index="0">5|4|3</numIndex>
								<numIndex index="1">5/4/3</numIndex>
							</numIndex>
							<numIndex index="9" type="array">
								<numIndex index="0">6|3|3</numIndex>
								<numIndex index="1">6/3/3</numIndex>
							</numIndex>
							<numIndex index="10" type="array">
								<numIndex index="0">12 (recommended)</numIndex>
								<numIndex index="1">12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnssmall>
			<classCol00 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol00</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol00>
			<classCol01 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol01</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol01>
			<classCol02 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol02</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol02>
		</el>
	</ROOT>
</T3DataStructure>
Copied!

Start: Columns 4 

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
	<meta>
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">
		<type>array</type>
		<el type="array">
			<class type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.class</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</class>
			<samecolumnheight type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.samecolumnheight</label>
					<config type="array">
						<type>check</type>
						<default>0</default>
					</config>
				</TCEforms>
			</samecolumnheight>
			<columnslarge type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnslarge</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>2|2|2|6</numIndex>
								<numIndex index='1'>2/2/2/6</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>2|2|4|4</numIndex>
								<numIndex index='1'>2/2/4/4</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>2|2|6|2</numIndex>
								<numIndex index='1'>2/2/6/2</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>2|2|6|2</numIndex>
								<numIndex index='1'>2/2/6/2</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>2|4|4|2</numIndex>
								<numIndex index='1'>2/4/4/2</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>2|6|2|2</numIndex>
								<numIndex index='1'>2/6/2/2</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>3|3|3|3 (recommended)</numIndex>
								<numIndex index='1'>3/3/3/3</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>4|2|2|4</numIndex>
								<numIndex index='1'>4/2/2/4</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>4|2|4|2</numIndex>
								<numIndex index='1'>4/2/4/2</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>4|4|2|2</numIndex>
								<numIndex index='1'>4/4/2/2</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>6|2|2|2</numIndex>
								<numIndex index='1'>6/2/2/2</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>12</numIndex>
								<numIndex index='1'>12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnslarge>
			<columnsmedium type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnsmedium</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>2|2|2|6</numIndex>
								<numIndex index='1'>2/2/2/6</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>2|2|4|4</numIndex>
								<numIndex index='1'>2/2/4/4</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>2|2|6|2</numIndex>
								<numIndex index='1'>2/2/6/2</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>2|2|6|2</numIndex>
								<numIndex index='1'>2/2/6/2</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>2|4|4|2</numIndex>
								<numIndex index='1'>2/4/4/2</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>2|6|2|2</numIndex>
								<numIndex index='1'>2/6/2/2</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>3|3|3|3 (recommended)</numIndex>
								<numIndex index='1'>3/3/3/3</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>4|2|2|4</numIndex>
								<numIndex index='1'>4/2/2/4</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>4|2|4|2</numIndex>
								<numIndex index='1'>4/2/4/2</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>4|4|2|2</numIndex>
								<numIndex index='1'>4/4/2/2</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>6|2|2|2</numIndex>
								<numIndex index='1'>6/2/2/2</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>12</numIndex>
								<numIndex index='1'>12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnsmedium>
			<columnssmall type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnssmall</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>2|2|2|6</numIndex>
								<numIndex index='1'>2/2/2/6</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>2|2|4|4</numIndex>
								<numIndex index='1'>2/2/4/4</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>2|2|6|2</numIndex>
								<numIndex index='1'>2/2/6/2</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>2|2|6|2</numIndex>
								<numIndex index='1'>2/2/6/2</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>2|4|4|2</numIndex>
								<numIndex index='1'>2/4/4/2</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>2|6|2|2</numIndex>
								<numIndex index='1'>2/6/2/2</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>3|3|3|3 (recommended)</numIndex>
								<numIndex index='1'>3/3/3/3</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>4|2|2|4</numIndex>
								<numIndex index='1'>4/2/2/4</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>4|2|4|2</numIndex>
								<numIndex index='1'>4/2/4/2</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>4|4|2|2</numIndex>
								<numIndex index='1'>4/4/2/2</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>6|2|2|2</numIndex>
								<numIndex index='1'>6/2/2/2</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>12 (recommended)</numIndex>
								<numIndex index='1'>12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnssmall>
			<classCol00 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol00</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol00>
			<classCol01 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol01</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol01>
			<classCol02 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol02</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol02>
			<classCol03 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol03</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol03>
		</el>
	</ROOT>
</T3DataStructure>
Copied!

Start: Columns 5 

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
	<meta>
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">
		<type>array</type>
		<el type="array">
			<class type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.class</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</class>
			<samecolumnheight type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.samecolumnheight</label>
					<config type="array">
						<type>check</type>
						<default>0</default>
					</config>
				</TCEforms>
			</samecolumnheight>
			<columnslarge type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnslarge</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>2|2|2|2|4</numIndex>
								<numIndex index='1'>2/2/2/2/4</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>2|2|2|4|2</numIndex>
								<numIndex index='1'>2/2/2/4/2</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>2|2|2|3|3</numIndex>
								<numIndex index='1'>2/2/2/3/3</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>2|2|3|3|2</numIndex>
								<numIndex index='1'>2/2/3/3/2</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>2|2|4|2|2 (recommended)</numIndex>
								<numIndex index='1'>2/2/4/2/2</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>2|3|3|2|2</numIndex>
								<numIndex index='1'>2/3/3/2/2</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>2|4|2|2|2</numIndex>
								<numIndex index='1'>2/4/2/2/2</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>3|2|2|2|3</numIndex>
								<numIndex index='1'>3/2/2/2/3</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>3|2|2|3|2</numIndex>
								<numIndex index='1'>3/2/2/3/2</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>3|2|3|2|2</numIndex>
								<numIndex index='1'>3/2/3/2/2</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>3|3|2|2|2</numIndex>
								<numIndex index='1'>3/3/2/2/2</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>4|2|2|2|2</numIndex>
								<numIndex index='1'>4/2/2/2/2</numIndex>
							</numIndex>
							<numIndex index='12' type='array'>
								<numIndex index='0'>12</numIndex>
								<numIndex index='1'>12/12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnslarge>
			<columnsmedium type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnsmedium</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>2|2|2|2|4</numIndex>
								<numIndex index='1'>2/2/2/2/4</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>2|2|2|4|2</numIndex>
								<numIndex index='1'>2/2/2/4/2</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>2|2|2|3|3</numIndex>
								<numIndex index='1'>2/2/2/3/3</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>2|2|3|3|2</numIndex>
								<numIndex index='1'>2/2/3/3/2</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>2|2|4|2|2 (recommended)</numIndex>
								<numIndex index='1'>2/2/4/2/2</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>2|3|3|2|2</numIndex>
								<numIndex index='1'>2/3/3/2/2</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>2|4|2|2|2</numIndex>
								<numIndex index='1'>2/4/2/2/2</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>3|2|2|2|3</numIndex>
								<numIndex index='1'>3/2/2/2/3</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>3|2|2|3|2</numIndex>
								<numIndex index='1'>3/2/2/3/2</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>3|2|3|2|2</numIndex>
								<numIndex index='1'>3/2/3/2/2</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>3|3|2|2|2</numIndex>
								<numIndex index='1'>3/3/2/2/2</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>4|2|2|2|2</numIndex>
								<numIndex index='1'>4/2/2/2/2</numIndex>
							</numIndex>
							<numIndex index='12' type='array'>
								<numIndex index='0'>12</numIndex>
								<numIndex index='1'>12/12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnsmedium>
			<columnssmall type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnssmall</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>2|2|2|2|4</numIndex>
								<numIndex index='1'>2/2/2/2/4</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>2|2|2|4|2</numIndex>
								<numIndex index='1'>2/2/2/4/2</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>2|2|2|3|3</numIndex>
								<numIndex index='1'>2/2/2/3/3</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>2|2|3|3|2</numIndex>
								<numIndex index='1'>2/2/3/3/2</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>2|2|4|2|2 (recommended)</numIndex>
								<numIndex index='1'>2/2/4/2/2</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>2|3|3|2|2</numIndex>
								<numIndex index='1'>2/3/3/2/2</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>2|4|2|2|2</numIndex>
								<numIndex index='1'>2/4/2/2/2</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>3|2|2|2|3</numIndex>
								<numIndex index='1'>3/2/2/2/3</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>3|2|2|3|2</numIndex>
								<numIndex index='1'>3/2/2/3/2</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>3|2|3|2|2</numIndex>
								<numIndex index='1'>3/2/3/2/2</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>3|3|2|2|2</numIndex>
								<numIndex index='1'>3/3/2/2/2</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>4|2|2|2|2</numIndex>
								<numIndex index='1'>4/2/2/2/2</numIndex>
							</numIndex>
							<numIndex index='12' type='array'>
								<numIndex index='0'>12 (recommended)</numIndex>
								<numIndex index='1'>12/12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnssmall>
			<classCol00 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol00</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol00>
			<classCol01 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol01</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol01>
			<classCol02 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol02</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol02>
			<classCol03 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol03</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol03>
			<classCol04 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol04</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol04>
		</el>
	</ROOT>
</T3DataStructure>
Copied!

Start: Columns 6 

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
	<meta>
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">
		<type>array</type>
		<el type="array">
			<class type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.class</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</class>
			<samecolumnheight type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.samecolumnheight</label>
					<config type="array">
						<type>check</type>
						<default>0</default>
					</config>
				</TCEforms>
			</samecolumnheight>
			<columnslarge type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnslarge</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>1|2|3|3|2|1</numIndex>
								<numIndex index='1'>1/2/3/3/2/1</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>1|2|3|1|2|3</numIndex>
								<numIndex index='1'>1/2/3/1/2/3</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>1|1|1|1|1|7</numIndex>
								<numIndex index='1'>1/1/1/1/1/7</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>1|1|1|1|7|1</numIndex>
								<numIndex index='1'>1/1/1/1/7/1</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>1|1|1|7|1|1</numIndex>
								<numIndex index='1'>1/1/1/7/1/1</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>1|1|7|1|1|1</numIndex>
								<numIndex index='1'>1/1/7/1/1/1</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>1|7|1|1|1|1</numIndex>
								<numIndex index='1'>1/7/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>1|1|1|1|4|4</numIndex>
								<numIndex index='1'>1/1/1/1/4/4</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>1|1|1|4|1|4</numIndex>
								<numIndex index='1'>1/1/1/4/1/4</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>1|1|4|1|1|4</numIndex>
								<numIndex index='1'>1/1/4/1/1/4</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>1|4|1|1|1|4</numIndex>
								<numIndex index='1'>1/4/1/1/1/4</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>1|1|1|4|4|1</numIndex>
								<numIndex index='1'>1/1/1/4/4/1</numIndex>
							</numIndex>
							<numIndex index='12' type='array'>
								<numIndex index='0'>1|1|4|1|4|1</numIndex>
								<numIndex index='1'>1/1/4/1/4/1</numIndex>
							</numIndex>
							<numIndex index='13' type='array'>
								<numIndex index='0'>1|4|1|1|4|1</numIndex>
								<numIndex index='1'>1/4/1/1/4/1</numIndex>
							</numIndex>
							<numIndex index='14' type='array'>
								<numIndex index='0'>1|1|4|4|1|1</numIndex>
								<numIndex index='1'>1/1/4/4/1/1</numIndex>
							</numIndex>
							<numIndex index='15' type='array'>
								<numIndex index='0'>1|4|1|4|1|1</numIndex>
								<numIndex index='1'>1/4/1/4/1/1</numIndex>
							</numIndex>
							<numIndex index='16' type='array'>
								<numIndex index='0'>1|4|4|1|1|1</numIndex>
								<numIndex index='1'>1/4/4/1/1/1</numIndex>
							</numIndex>
							<numIndex index='17' type='array'>
								<numIndex index='0'>2|2|2|2|2|2 (recommended)</numIndex>
								<numIndex index='1'>2/2/2/2/2/2</numIndex>
							</numIndex>
							<numIndex index='18' type='array'>
								<numIndex index='0'>3|2|1|1|2|3</numIndex>
								<numIndex index='1'>3/2/1/1/2/3</numIndex>
							</numIndex>
							<numIndex index='19' type='array'>
								<numIndex index='0'>3|2|1|3|2|1</numIndex>
								<numIndex index='1'>3/2/1/3/2/1</numIndex>
							</numIndex>
							<numIndex index='20' type='array'>
								<numIndex index='0'>4|1|1|1|1|4</numIndex>
								<numIndex index='1'>4/1/1/1/1/4</numIndex>
							</numIndex>
							<numIndex index='21' type='array'>
								<numIndex index='0'>4|1|1|1|4|1</numIndex>
								<numIndex index='1'>4/1/1/1/4/1</numIndex>
							</numIndex>
							<numIndex index='22' type='array'>
								<numIndex index='0'>4|1|1|4|1|1</numIndex>
								<numIndex index='1'>4/1/1/4/1/1</numIndex>
							</numIndex>
							<numIndex index='23' type='array'>
								<numIndex index='0'>4|1|4|1|1|1</numIndex>
								<numIndex index='1'>4/1/4/1/1/1</numIndex>
							</numIndex>
							<numIndex index='24' type='array'>
								<numIndex index='0'>4|4|1|1|1|1</numIndex>
								<numIndex index='1'>4/4/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='25' type='array'>
								<numIndex index='0'>7|1|1|1|1|1</numIndex>
								<numIndex index='1'>7/1/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='26' type='array'>
								<numIndex index='0'>12</numIndex>
								<numIndex index='1'>12/12/12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnslarge>
			<columnsmedium type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnsmedium</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>1|2|3|3|2|1</numIndex>
								<numIndex index='1'>1/2/3/3/2/1</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>1|2|3|1|2|3</numIndex>
								<numIndex index='1'>1/2/3/1/2/3</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>1|1|1|1|1|7</numIndex>
								<numIndex index='1'>1/1/1/1/1/7</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>1|1|1|1|7|1</numIndex>
								<numIndex index='1'>1/1/1/1/7/1</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>1|1|1|7|1|1</numIndex>
								<numIndex index='1'>1/1/1/7/1/1</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>1|1|7|1|1|1</numIndex>
								<numIndex index='1'>1/1/7/1/1/1</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>1|7|1|1|1|1</numIndex>
								<numIndex index='1'>1/7/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>1|1|1|1|4|4</numIndex>
								<numIndex index='1'>1/1/1/1/4/4</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>1|1|1|4|1|4</numIndex>
								<numIndex index='1'>1/1/1/4/1/4</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>1|1|4|1|1|4</numIndex>
								<numIndex index='1'>1/1/4/1/1/4</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>1|4|1|1|1|4</numIndex>
								<numIndex index='1'>1/4/1/1/1/4</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>1|1|1|4|4|1</numIndex>
								<numIndex index='1'>1/1/1/4/4/1</numIndex>
							</numIndex>
							<numIndex index='12' type='array'>
								<numIndex index='0'>1|1|4|1|4|1</numIndex>
								<numIndex index='1'>1/1/4/1/4/1</numIndex>
							</numIndex>
							<numIndex index='13' type='array'>
								<numIndex index='0'>1|4|1|1|4|1</numIndex>
								<numIndex index='1'>1/4/1/1/4/1</numIndex>
							</numIndex>
							<numIndex index='14' type='array'>
								<numIndex index='0'>1|1|4|4|1|1</numIndex>
								<numIndex index='1'>1/1/4/4/1/1</numIndex>
							</numIndex>
							<numIndex index='15' type='array'>
								<numIndex index='0'>1|4|1|4|1|1</numIndex>
								<numIndex index='1'>1/4/1/4/1/1</numIndex>
							</numIndex>
							<numIndex index='16' type='array'>
								<numIndex index='0'>1|4|4|1|1|1</numIndex>
								<numIndex index='1'>1/4/4/1/1/1</numIndex>
							</numIndex>
							<numIndex index='17' type='array'>
								<numIndex index='0'>2|2|2|2|2|2 (recommended)</numIndex>
								<numIndex index='1'>2/2/2/2/2/2</numIndex>
							</numIndex>
							<numIndex index='18' type='array'>
								<numIndex index='0'>3|2|1|1|2|3</numIndex>
								<numIndex index='1'>3/2/1/1/2/3</numIndex>
							</numIndex>
							<numIndex index='19' type='array'>
								<numIndex index='0'>3|2|1|3|2|1</numIndex>
								<numIndex index='1'>3/2/1/3/2/1</numIndex>
							</numIndex>
							<numIndex index='20' type='array'>
								<numIndex index='0'>4|1|1|1|1|4</numIndex>
								<numIndex index='1'>4/1/1/1/1/4</numIndex>
							</numIndex>
							<numIndex index='21' type='array'>
								<numIndex index='0'>4|1|1|1|4|1</numIndex>
								<numIndex index='1'>4/1/1/1/4/1</numIndex>
							</numIndex>
							<numIndex index='22' type='array'>
								<numIndex index='0'>4|1|1|4|1|1</numIndex>
								<numIndex index='1'>4/1/1/4/1/1</numIndex>
							</numIndex>
							<numIndex index='23' type='array'>
								<numIndex index='0'>4|1|4|1|1|1</numIndex>
								<numIndex index='1'>4/1/4/1/1/1</numIndex>
							</numIndex>
							<numIndex index='24' type='array'>
								<numIndex index='0'>4|4|1|1|1|1</numIndex>
								<numIndex index='1'>4/4/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='25' type='array'>
								<numIndex index='0'>7|1|1|1|1|1</numIndex>
								<numIndex index='1'>7/1/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='26' type='array'>
								<numIndex index='0'>12</numIndex>
								<numIndex index='1'>12/12/12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnsmedium>
			<columnssmall type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.columnssmall</label>
					<config type="array">
						<type>select</type>
						<items type="array">
							<numIndex index='0' type='array'>
								<numIndex index='0'>1|2|3|3|2|1</numIndex>
								<numIndex index='1'>1/2/3/3/2/1</numIndex>
							</numIndex>
							<numIndex index='1' type='array'>
								<numIndex index='0'>1|2|3|1|2|3</numIndex>
								<numIndex index='1'>1/2/3/1/2/3</numIndex>
							</numIndex>
							<numIndex index='2' type='array'>
								<numIndex index='0'>1|1|1|1|1|7</numIndex>
								<numIndex index='1'>1/1/1/1/1/7</numIndex>
							</numIndex>
							<numIndex index='3' type='array'>
								<numIndex index='0'>1|1|1|1|7|1</numIndex>
								<numIndex index='1'>1/1/1/1/7/1</numIndex>
							</numIndex>
							<numIndex index='4' type='array'>
								<numIndex index='0'>1|1|1|7|1|1</numIndex>
								<numIndex index='1'>1/1/1/7/1/1</numIndex>
							</numIndex>
							<numIndex index='5' type='array'>
								<numIndex index='0'>1|1|7|1|1|1</numIndex>
								<numIndex index='1'>1/1/7/1/1/1</numIndex>
							</numIndex>
							<numIndex index='6' type='array'>
								<numIndex index='0'>1|7|1|1|1|1</numIndex>
								<numIndex index='1'>1/7/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='7' type='array'>
								<numIndex index='0'>1|1|1|1|4|4</numIndex>
								<numIndex index='1'>1/1/1/1/4/4</numIndex>
							</numIndex>
							<numIndex index='8' type='array'>
								<numIndex index='0'>1|1|1|4|1|4</numIndex>
								<numIndex index='1'>1/1/1/4/1/4</numIndex>
							</numIndex>
							<numIndex index='9' type='array'>
								<numIndex index='0'>1|1|4|1|1|4</numIndex>
								<numIndex index='1'>1/1/4/1/1/4</numIndex>
							</numIndex>
							<numIndex index='10' type='array'>
								<numIndex index='0'>1|4|1|1|1|4</numIndex>
								<numIndex index='1'>1/4/1/1/1/4</numIndex>
							</numIndex>
							<numIndex index='11' type='array'>
								<numIndex index='0'>1|1|1|4|4|1</numIndex>
								<numIndex index='1'>1/1/1/4/4/1</numIndex>
							</numIndex>
							<numIndex index='12' type='array'>
								<numIndex index='0'>1|1|4|1|4|1</numIndex>
								<numIndex index='1'>1/1/4/1/4/1</numIndex>
							</numIndex>
							<numIndex index='13' type='array'>
								<numIndex index='0'>1|4|1|1|4|1</numIndex>
								<numIndex index='1'>1/4/1/1/4/1</numIndex>
							</numIndex>
							<numIndex index='14' type='array'>
								<numIndex index='0'>1|1|4|4|1|1</numIndex>
								<numIndex index='1'>1/1/4/4/1/1</numIndex>
							</numIndex>
							<numIndex index='15' type='array'>
								<numIndex index='0'>1|4|1|4|1|1</numIndex>
								<numIndex index='1'>1/4/1/4/1/1</numIndex>
							</numIndex>
							<numIndex index='16' type='array'>
								<numIndex index='0'>1|4|4|1|1|1</numIndex>
								<numIndex index='1'>1/4/4/1/1/1</numIndex>
							</numIndex>
							<numIndex index='17' type='array'>
								<numIndex index='0'>2|2|2|2|2|2 (recommended)</numIndex>
								<numIndex index='1'>2/2/2/2/2/2</numIndex>
							</numIndex>
							<numIndex index='18' type='array'>
								<numIndex index='0'>3|2|1|1|2|3</numIndex>
								<numIndex index='1'>3/2/1/1/2/3</numIndex>
							</numIndex>
							<numIndex index='19' type='array'>
								<numIndex index='0'>3|2|1|3|2|1</numIndex>
								<numIndex index='1'>3/2/1/3/2/1</numIndex>
							</numIndex>
							<numIndex index='20' type='array'>
								<numIndex index='0'>4|1|1|1|1|4</numIndex>
								<numIndex index='1'>4/1/1/1/1/4</numIndex>
							</numIndex>
							<numIndex index='21' type='array'>
								<numIndex index='0'>4|1|1|1|4|1</numIndex>
								<numIndex index='1'>4/1/1/1/4/1</numIndex>
							</numIndex>
							<numIndex index='22' type='array'>
								<numIndex index='0'>4|1|1|4|1|1</numIndex>
								<numIndex index='1'>4/1/1/4/1/1</numIndex>
							</numIndex>
							<numIndex index='23' type='array'>
								<numIndex index='0'>4|1|4|1|1|1</numIndex>
								<numIndex index='1'>4/1/4/1/1/1</numIndex>
							</numIndex>
							<numIndex index='24' type='array'>
								<numIndex index='0'>4|4|1|1|1|1</numIndex>
								<numIndex index='1'>4/4/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='25' type='array'>
								<numIndex index='0'>7|1|1|1|1|1</numIndex>
								<numIndex index='1'>7/1/1/1/1/1</numIndex>
							</numIndex>
							<numIndex index='26' type='array'>
								<numIndex index='0'>12</numIndex>
								<numIndex index='1'>12/12/12/12/12/12</numIndex>
							</numIndex>
						</items>
					</config>
				</TCEforms>
			</columnssmall>
			<classCol00 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol00</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol00>
			<classCol01 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol01</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol01>
			<classCol02 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol02</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol02>
			<classCol03 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol03</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol03>
			<classCol04 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol04</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol04>
			<classCol05 type="array">
				<TCEforms type="array">
					<label>LLL:EXT:start/Resources/Private/Language/Gridelements.xlf:gridelements.flexform.classCol05</label>
					<config type="array">
						<type>input</type>
						<size>40</size>
						<eval>trim</eval>
						<max>100</max>
					</config>
				</TCEforms>
			</classCol05>
		</el>
	</ROOT>
</T3DataStructure>
Copied!

TYPO3 10.4 

Nothing to do.

Grid Elements 

In case of broken frontend or backend layouts 

SELECT 

Find content elements:

-- extension gridelements
SELECT `uid`, `pid`, `header`, `colPos`, `tx_gridelements_container`
FROM `tt_content`
WHERE `colPos` >= 0
AND `tx_gridelements_container` > 0
-- AND `pid` = 5813
Copied!

Update 

-- extension gridelements
UPDATE `tt_content` 
SET `colPos` = -1
WHERE `colPos` >= 0
AND `tx_gridelements_container` > 0
-- AND `pid` = 5813
Copied!

Good to know 

The properties space before and space after of tt_content elements will be lost.

They will be replaced by the spaceBefore_class and the spaceAfter_class.

Tipp 

If you update the database (compare database), don't remove the fields:

  • spaceBefore
  • spaceAfter

Then it is possible to find content elements, which should be updated manually.

CSS Styled Content 

The extension is deprecated.

You can update the values by the SQL statements from below or manually.

SQL Statement 

SELECT 

Get all records with an included static template CSS Styled Content (css_styled_content):

SELECT `uid`, `pid`, `title`, `include_static_file` 
FROM `sys_template` 
WHERE `include_static_file` LIKE '%EXT:css_styled_content/Configuration/TypoScript/%'
Copied!

UPDATE 

UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:css_styled_content/Configuration/TypoScript/', 'EXT:fluid_styled_content/Configuration/TypoScript/,EXT:fluid_styled_content/Configuration/TypoScript/Styling/')
WHERE `include_static_file` LIKE '%EXT:css_styled_content/Configuration/TypoScript/%';
UPDATE `sys_template` 
SET `title` = REPLACE(`title`, 'cssstyledcontent', 'fluidstyledcontent')
WHERE `title` LIKE '%cssstyledcontent%';
Copied!

Manually 

Please use Fluid Styled Content:

  • Enable the extension Fluid Styled Content
  • Update your TypoScript

    • Replace CSS Styled Content by Fluid Styled Content
  • Disable the extension CSS Styled Content

Fluid Styled Content 

It is recommended to use Fluid Styled Content (fluid_styled_content).

Update from CSS Styled Content (css_styeld_content) to Fluid Styled Content is explained above.

Foundation Framework 

Please replace cb_foundation with t3foundation.

You can update the configuration by the SQL statements from below or manually.

SQL Statements 

SELECT 

Find former included static template of t3foundation:

-- extension t3foundation
SELECT `uid`, `pid`, `title`, `include_static_file` 
FROM `sys_template` 
WHERE `include_static_file` LIKE '%EXT:t3foundation/Configuration/TypoScript%' 
AND `include_static_file` NOT LIKE '%EXT:t3foundation/Configuration/TypoScript/Default/%'
Copied!

Find cb_foundation templates:

SELECT `uid`, `pid`, `title`, `include_static_file`
FROM `sys_template`
WHERE `include_static_file` LIKE '%EXT:cb_foundation%'
Copied!

Find cb_foundation content elements:

-- extension cb_foundation
SELECT `uid`, `pid`, `header`, `CType`
FROM `tt_content`
WHERE `CType` LIKE '%cbfoundation%'
Copied!

UPDATE 

If you have used t3foundation before, please update the include static template:

  • Replace "Foundation framework [DEPRECATED!]" with "Foundation framework"
-- extension t3foundation
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:t3foundation/Configuration/TypoScript', 'EXT:t3foundation/Configuration/TypoScript/Default/')
WHERE `include_static_file` LIKE '%EXT:t3foundation/Configuration/TypoScript%'
AND `include_static_file` NOT LIKE '%EXT:t3foundation/Configuration/TypoScript/Default/%';
-- revison 
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:t3foundation/Configuration/TypoScript/Default//Default/', 'EXT:t3foundation/Configuration/TypoScript/Default/')
WHERE `include_static_file` LIKE '%EXT:t3foundation/Configuration/TypoScript/Default//Default/%';
Copied!

Replace template of cb_foundation with the one of t3foundation

-- extension cb_foundation
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:cb_foundation/Configuration/TypoScript', 'EXT:t3foundation/Configuration/TypoScript/Default/')
WHERE `include_static_file` LIKE '%EXT:cb_foundation/Configuration/TypoScript%';
UPDATE `sys_template` 
SET `title` = REPLACE(`title`, 'cbfoundation', 't3foundation')
WHERE `title` LIKE '%cbfoundation%';
Copied!

Replace cb_foundation content elements with the ones of t3foundation (here: clearing lightbox, flexible video and orbit slider):

-- extension cb_foundation
UPDATE `tt_content` SET `CType` = 't3foundation_clearing' WHERE `tt_content`.`CType` LIKE 'cbfoundation_clearing';
UPDATE `tt_content` SET `CType` = 't3foundation_flexvid' WHERE `tt_content`.`CType` LIKE 'cbfoundation_flexvid';
UPDATE `tt_content` SET `CType` = 't3foundation_orbit' WHERE `tt_content`.`CType` LIKE 'cbfoundation_orbit';
Copied!

Manually 

Please replace cb_foundation with t3foundation:

  • Include Static Templates
  • Constants
  • Setup

If you have used t3foundation before, please update the include static template:

  • Replace "Foundation framework [DEPRECATED!]" with "Foundation framework"

Replace cb_foundation content elements with the ones of t3foundation.

Grid Elements 

In case of broken frontend or backend layouts 

SELECT 

Find content elements:

-- extension gridelements
SELECT `uid`, `pid`, `header`, `colPos`, `tx_gridelements_container`
FROM `tt_content`
WHERE `colPos` >= 0
AND `tx_gridelements_container` > 0
-- AND `pid` = 5813
Copied!

Update 

-- extension gridelements
UPDATE `tt_content` 
SET `colPos` = -1
WHERE `colPos` >= 0
AND `tx_gridelements_container` > 0
-- AND `pid` = 5813
Copied!

Slick 

You have to inlude the static template again.

You can do the job by SQL statements or manually.

SQL Statement 

SELECT 

Get all records with an included static template of Slick - responsive Carousel Slider (slick):

SELECT `uid`, `pid`, `title`, `include_static_file` 
FROM `sys_template` 
WHERE `include_static_file` LIKE '%EXT:slick%'
Copied!

UPDATE 

-- replace the base template
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:slick/Configuration/TypoScript/7.6/', 'EXT:slick/Configuration/TypoScript/Default/')
WHERE `include_static_file` LIKE '%EXT:slick/Configuration/TypoScript/7.6/%';
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:slick/Configuration/TypoScript/Base', 'EXT:slick/Configuration/TypoScript/Default/')
WHERE `include_static_file` LIKE '%EXT:slick/Configuration/TypoScript/Base%';
-- remove non needed include static templates
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:slick/Configuration/TypoScript/Carousel', '')
WHERE `include_static_file` LIKE '%EXT:slick/Configuration/TypoScript/Carousel%';
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:slick/Configuration/TypoScript/Item', '')
WHERE `include_static_file` LIKE '%EXT:slick/Configuration/TypoScript/Item%';
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, 'EXT:slick/Configuration/TypoScript/RemoveLLATag', '')
WHERE `include_static_file` LIKE '%EXT:slick/Configuration/TypoScript/RemoveLLATag%';
-- clean up double comma (repeat it!)
UPDATE `sys_template` 
SET `include_static_file` = REPLACE(`include_static_file`, ',,', ',')
WHERE `include_static_file` LIKE '%,,%';
Copied!

Manually 

Look for Slick templates:

  • Include the static template again.

File List 

Fluid Styled Content changes the behaviour of the layouts of file lists:

  • Layout was configured by "layout", now it is configured by "uploads_type"

SQL Statement 

SELECT 

SELECT `uid`, `pid`, `header`, `layout`, `uploads_type` FROM `tt_content` WHERE `layout` > 0
Copied!

UPDATE 

UPDATE `tt_content` SET `uploads_type` =  1 WHERE `uploads_type` = 0 AND `layout` = 1;
UPDATE `tt_content` SET `uploads_type` =  2 WHERE `uploads_type` = 0 AND `layout` > 1;
Copied!

Headers 

Fluid Styled Content changes the behaviour of header layouts:

  • If a header has the default value, it will get the class for a header with layout 2
  • Former behaviour was layout 1

SQL Statement 

SELECT 

SELECT `uid`, `pid`, `header`, `header_layout` FROM `tt_content` WHERE `header_layout` = '0'
Copied!

UPDATE 

UPDATE `tt_content` SET `header_layout` = '1' WHERE `tt_content`.`header_layout` = '0'
Copied!

Indentation and Frames 

The CSS for panels was controlled in TYPO3 upto 7.x here:

  • content element > Appearance > Indentation and Frames

The CSS for panels is controlled in TYPO3 from 8.x here:

  • content element > General > Additional CSS

You can update the values by the SQL statements from below or manually.

SQL Statement 

SELECT 

Get all records with custom configuration of the frame class:

-- different extensions
SELECT `uid`, `pid`, `header`, `frame_class`, `CType`, `tx_start_additionalclassdefined` 
FROM `tt_content` 
WHERE `frame_class` LIKE 'custom-%'
Copied!

UPDATE 

-- extension leaflet
UPDATE `tt_content` 
SET `frame_class` = 'none' 
WHERE `tt_content`.`frame_class` LIKE 'custom-331';

-- extension slick
UPDATE `tt_content` 
SET `frame_class` = 'none' 
WHERE `tt_content`.`frame_class` LIKE 'custom-62474';
UPDATE `tt_content` 
SET `frame_class` = 'default' 
WHERE `tt_content`.`frame_class` LIKE 'custom-62475';
UPDATE `tt_content` 
SET `frame_class` = 'none' 
WHERE `tt_content`.`frame_class` LIKE 'custom-62476';

-- extension start
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'startImgCircle')
WHERE `frame_class` LIKE 'custom-86';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'startWoPadding')
WHERE `frame_class` LIKE 'custom-87';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'startWoPaddingLeft')
WHERE `frame_class` LIKE 'custom-88';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'startWoPaddingRight')
WHERE `frame_class` LIKE 'custom-89';

-- extension startgreen
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenBlue')
WHERE `frame_class` LIKE 'custom-2861';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenBlueLight')
WHERE `frame_class` LIKE 'custom-2862';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenMagenta')
WHERE `frame_class` LIKE 'custom-2863';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenMagentaLight')
WHERE `frame_class` LIKE 'custom-2864';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenGreen')
WHERE `frame_class` LIKE 'custom-2865';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenGreenDark')
WHERE `frame_class` LIKE 'custom-2866';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenYellow')
WHERE `frame_class` LIKE 'custom-2867';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenYellowDark')
WHERE `frame_class` LIKE 'custom-2868';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenWhite')
WHERE `frame_class` LIKE 'custom-2869';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel','startgreenWhiteShadow')
WHERE `frame_class` LIKE 'custom-2870';

-- extension t3foundation
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel')
WHERE `frame_class` LIKE 'custom-100';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel radius')
WHERE `frame_class` LIKE 'custom-101';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel callout')
WHERE `frame_class` LIKE 'custom-102';
UPDATE `tt_content` 
SET `frame_class` = 'default', `tx_start_additionalclassdefined` = CONCAT_WS(',', `tx_start_additionalclassdefined`, 'panel callout radius')
WHERE `frame_class` LIKE 'custom-103';
Copied!

Manually 

If you have used the property "Indentation and Frames" you must update the "Additional CSS" manually.

Reference Index 

Maybe the upgrade of the reference index isn't run proper.

Probably the cause are "broken" links: the internal syntax of TYPO3 for links is changed.

The manual of the Organiser (EXT:org) provides some SQL statements for analysing trouble with the link syntax.

Please refer to

Look for

  • Upgrades > TYPO3 7.6 > 8.7 > Extensions > Linkhandler

Space before and after 

The properties space before and space after of tt_content elements will lost.

They will replaced by the space_before_class and the space_after_class.

It's possible to update this changing by SQL statements from below.

Condition 

You don't must remove the fields while updating (comparing) the database:

  • spaceBefore
  • spaceAfter

Workflow 

The spaceBefore and the spaceAfter could not replace one to one. The cause is: spaceBefore and spaceAfter stored pixel values, the properties space_before_class and space_after_class stores one of five classes.

These are the five classes:

  • extra-small: 1em (16px)
  • small: 2em (32px)
  • medium: 3em (48px)
  • large: 4em (64px)
  • extra large: 5em (80px)

The SQL statement from below will "translate" pixel values to classes:

  • from 0px to 7px: null
  • from 8px to 25px: extra-small (1em)
  • from 26px to 39px: small (2em)
  • from 40px to 55px: medium (3em)
  • from 56px to 71px: large (4em)
  • from 72px to unlimited: extra-large (5em)

SQL Statement 

SELECT 

Get all records with spaceBefore or spaceAfter values:

SELECT `uid`, `pid`, `header`, `spaceAfter`, `spaceBefore`, `space_after_class`, `space_before_class`
FROM `tt_content` 
WHERE `spaceAfter` > 0 OR `spaceBefore` > 0; 
Copied!

UPDATE 

UPDATE `tt_content` 
SET `space_after_class` = 'extra-small'
WHERE `spaceAfter` >= 8 AND `spaceAfter` <= 25;
UPDATE `tt_content` 
SET `space_after_class` = 'small'
WHERE `spaceAfter` >= 26 AND `spaceAfter` <= 39;
UPDATE `tt_content` 
SET `space_after_class` = 'medium'
WHERE `spaceAfter` >= 40 AND `spaceAfter` <= 55;
UPDATE `tt_content` 
SET `space_after_class` = 'large'
WHERE `spaceAfter` >= 56 AND `spaceAfter` <= 71;
UPDATE `tt_content` 
SET `space_after_class` = 'extra-large'
WHERE `spaceAfter` >= 72;
UPDATE `tt_content` 
SET `space_before_class` = 'extra-small'
WHERE `spaceBefore` >= 8 AND `spaceBefore` <= 25;
UPDATE `tt_content` 
SET `space_before_class` = 'small'
WHERE `spaceBefore` >= 26 AND `spaceBefore` <= 39;
UPDATE `tt_content` 
SET `space_before_class` = 'medium'
WHERE `spaceBefore` >= 40 AND `spaceBefore` <= 55;
UPDATE `tt_content` 
SET `space_before_class` = 'large'
WHERE `spaceBefore` >= 56 AND `spaceBefore` <= 71;
UPDATE `tt_content` 
SET `space_before_class` = 'extra-large'
WHERE `spaceBefore` >= 72;
Copied!

In case of a database dump 

spaceAfter 

Get all records with spaceAfter values:

SELECT `uid`, `pid`, `header`, `spaceAfter`
FROM `tt_content` 
WHERE `spaceAfter` > 0;
Copied!

Export the result to a table like Excel or Libre Office calc. You find a draft with a ready-to-use formula for a SQL update for download at my Git here: spaceAfter.ods

spaceBefore 

Get all records with spaceBefore values:

SELECT `uid`, `pid`, `header`, `spaceBefore`
FROM `tt_content` 
WHERE `spaceBefore` > 0; 
Copied!

Export the result to a table like Excel or Libre Office calc. You find a draft with a ready-to-use formula for a SQL update for download at my Git here: spaceBefore.ods

Table 

Tables of Fluid Styled Content has the new property table_delimiter.

You have to enter the value "| pipe".

SQL Statement 

SELECT 

SELECT `uid`, `pid`, `header`, `table_delimiter` FROM `tt_content` WHERE `CType` = 'table' AND `table_delimiter` = 0
Copied!

UPDATE 

-- table_delimiter: 124 equates to pipe
UPDATE `tt_content` SET `table_delimiter` =  124 WHERE `CType` = 'table' AND `table_delimiter` = 0
Copied!

In Case of trouble 

Disable Compression 

Constant Editor > category [START - COMPRESS CSS AND JSS]

  • [ ] CSS
  • [ ] JSS

ChangeLog #i0215 (EXT:gridelements) 

The three columns grid element had a bug: first column was confused with second column. This bug is fixed with Ext:start version 4.6.5.

You MUST

  • update your database
  • or include a static template, to continue with non fixed gridelements

Table of Contents

SQL Statements 

Please fix the bug of columns confusion in grid elements with three columns.

You can run Start without executing the SQL statements from below.

But then you MUST include a static template, to run a proper Start extension with the former behaviour. See: Include the static template

Backup tables 

Please backup the database tables

  • tt_content
  • tx_gridelements_backend_layout

Statements 

SELECT 

Data won't be changed. Statements serves only information.

-- Find all grid layouts with three columns and one row
SELECT uid, pid, title, description, config FROM `tx_gridelements_backend_layout` WHERE config LIKE '%colCount = 3%' AND config LIKE '%rowCount = 1%'

-- Find all content elements, which are using the three columns grid layout
CREATE TEMPORARY TABLE gridLayoutColumns03 SELECT uid FROM `tx_gridelements_backend_layout` WHERE config LIKE '%colCount = 3%' AND config LIKE '%rowCount = 1%';
CREATE TEMPORARY TABLE gridElementColumns03 SELECT uid FROM `tt_content` WHERE `CType` LIKE 'gridelements_pi1' AND tx_gridelements_backend_layout IN(SELECT uid FROM gridLayoutColumns03);
SELECT uid, pid, header, tx_gridelements_backend_layout FROM tt_content WHERE uid IN(SELECT uid FROM gridElementColumns03);

-- Find all content elements, which are part of a three columns grid layout
CREATE TEMPORARY TABLE gridLayoutColumns03 SELECT uid FROM `tx_gridelements_backend_layout` WHERE config LIKE '%colCount = 3%' AND config LIKE '%rowCount = 1%';
CREATE TEMPORARY TABLE gridElementColumns03 SELECT uid FROM `tt_content` WHERE `CType` LIKE 'gridelements_pi1' AND tx_gridelements_backend_layout IN(SELECT uid FROM gridLayoutColumns03);
CREATE TEMPORARY TABLE contentForColumns03 SELECT uid FROM tt_content WHERE uid IN(SELECT uid FROM gridElementColumns03);
SELECT uid, pid, header, tx_gridelements_backend_layout, tx_gridelements_container, tx_gridelements_columns FROM tt_content WHERE tx_gridelements_container IN(SELECT uid FROM contentForColumns03);
Copied!

UPDATE 

Data will updated.

-- Update columns configuration in all grid layouts with three columns and one row
CREATE TEMPORARY TABLE gridLayoutColumns03 SELECT uid FROM `tx_gridelements_backend_layout` WHERE config LIKE '%colCount = 3%' AND config LIKE '%rowCount = 1%';
UPDATE tx_gridelements_backend_layout SET config = REPLACE(config, 'colPos = 0', 'colPos = x') WHERE uid IN(SELECT uid FROM gridLayoutColumns03);
UPDATE tx_gridelements_backend_layout SET config = REPLACE(config, 'colPos = 1', 'colPos = 0') WHERE uid IN(SELECT uid FROM gridLayoutColumns03);
UPDATE tx_gridelements_backend_layout SET config = REPLACE(config, 'colPos = x', 'colPos = 1') WHERE uid IN(SELECT uid FROM gridLayoutColumns03);
SELECT uid, pid, title, description, config FROM `tx_gridelements_backend_layout` WHERE config LIKE '%colCount = 3%' AND config LIKE '%rowCount = 1%'
Copied!
-- Update the columns number of all content elements, which are part of a three columns grid layout
CREATE TEMPORARY TABLE gridLayoutColumns03 SELECT uid FROM `tx_gridelements_backend_layout` WHERE config LIKE '%colCount = 3%' AND config LIKE '%rowCount = 1%';
CREATE TEMPORARY TABLE gridElementColumns03 SELECT uid FROM `tt_content` WHERE `CType` LIKE 'gridelements_pi1' AND tx_gridelements_backend_layout IN(SELECT uid FROM gridLayoutColumns03);
CREATE TEMPORARY TABLE contentForColumns03 SELECT uid FROM tt_content WHERE uid IN(SELECT uid FROM gridElementColumns03);
UPDATE tt_content SET tx_gridelements_columns = 999 WHERE tx_gridelements_columns = 0 AND tx_gridelements_container IN(SELECT uid FROM contentForColumns03);
UPDATE tt_content SET tx_gridelements_columns = 0 WHERE tx_gridelements_columns = 1 AND tx_gridelements_container IN(SELECT uid FROM contentForColumns03);
UPDATE tt_content SET tx_gridelements_columns = 1 WHERE tx_gridelements_columns = 999 AND tx_gridelements_container IN(SELECT uid FROM contentForColumns03);
SELECT uid, pid, header, tx_gridelements_backend_layout, tx_gridelements_container, tx_gridelements_columns FROM tt_content WHERE tx_gridelements_container IN(SELECT uid FROM contentForColumns03);
Copied!

Template 

You can run Start without executing the SQL statements from above.

But you have to include the static template from below, to run a proper Start extension with the former behaviour:

  • Start [92.1.1] +Workaround ChangeLog #i0215

ChangeLog #i0214 (EXT:gridelements) 

Grid Elements will display the header.

If you like to set all headers to hidden, please use the SQL statements from below.

SQL Statements 

-- Get all gridelements, which will display its header
SELECT uid, pid, header, header_layout FROM `tt_content` WHERE `CType` LIKE 'gridelements_pi1' AND header_layout <> 100;
Copied!
-- Set the header of all gridelements to hidden
UPDATE `tt_content` SET header_layout = 100 WHERE `CType` LIKE 'gridelements_pi1';
-- Get all gridelements, which will display its header
SELECT uid, pid, header, header_layout FROM `tt_content` WHERE `CType` LIKE 'gridelements_pi1' AND header_layout <> 100;
Copied!

What's new 

Jumboteaser 

10.4

The Jumboteaser is a kind of curtain or roller blind that can be opened. See Users > Bestpractice > Jumboteaser

Highlight a menu item 

10.3

You can highlight menu items. See Users > Bestpractice > Navigation > Highlight Menu

SCSS update 

10.3

CSS class .panel is removed since foundation 6.x. It must replaced by .callout

YOU MUST CHECK your database. See Upgraddes > Start > 10.3

SCSS compilation 

10.2

SCSS properties by TypoScript Constant Editor

Crop images default mode 

10.1.7

crop images default mode: additional sizes 1:2, 1:3, 1:4, 2:3, 3:1, 3:4, 4:1, 9:16

Former Updates 

9.x 

FLUID-Template 

9.2.7

Header/Date with configurable date format

Social media 

9.2.6

7.x 

Compatibility 

7.0.0

Compatibility with TYPO3 10.4

6.x 

Grid Elements 

6.0.0

  • Accordions and tabs can now represent any content element. And they can be nested with themselves. Until now, only the text element for accordions and tabs was possible.
  • Grid elements have ID labels instead of uids, are ready to use and no longer require configuration records in the database.

BUT YOU SHOULD UPGRADE RECORS IN YOUR DATABASE: See section

HTML title tag 

6.0.2

The title tag consists of the name of the current page and the name of the root page. Users can set up the title tag themselves.

So far, the first part was set up with TypoScript and users could not change this value.

See

5.x 

Features 

Backend Layouts 

Groups of backend layouts can disabled by the extension manager.

See:

Bootstrap 

Glyphicons are suppoprted. See:

Effects 

Elements shake by a mouse over. See:

Gridelements 

Gridelements got the new properties:

If you like to use the new features, you MUST UPDATE the XML-code for the gridelements flexforms. See details at

Because of new features wrapping of HTML-code is changed:

From version 5.3.0:

  • <div class="row myClass">...</div>

Until version 5.2.5

  • <div class="myClass"><div class="row">...</div></div>

Maybe you MUST adapt your CSS code.

Mega-Menü 

Module > Web: Start TYPO3 

You can disable Start TYPO3 in Module > Web. See:

Rich Text Editor 

New features

  • search and replace
  • Youtube plugin

See Rich Text Editor > Search, spell check, youtube

Manual 

New sections

User Interface (TypoScript Constant Editor) 

Graphical menu 

[START - FOUNDATION - GMENU]: additional properties

4.7 

If you update from smaller than 4.6.5 please respect the both You MUST / You SHOULD at 4.6.

Features 

Background Image for Grid Elements 

Bootstrap support for Grid Elements 

You have to include a the new static template only:

  • Start [20.4.1] Gridelements (Bootstrap)

RTE with additional Features 

* for Aministrators

* for Users

Width of columns by Constant Editor 

Backend layout: width of columns can configured by the Constant Editor. See

Improvements 

CSS Grid Layout 

CSS is improved:

From 5.0

  • .main .left, .main .main or .main .right

To 4.6:

  • .maincontentleft, .maincontentmain, .maincontentright [DEPRECATED]

HTML/CSS Grid Elements 

If the CSS class property contains a value, the grid element gets a div wrap with this value as the CSS class.

Examples:

  • value is empty: <div class="row">{gridelement}</div>
  • value is "container": <div class="container"><div class="row">{gridelement}</div></div>

Margin columns are visible on mobile devices 

Backend layout: margin columns are displayed in small view too. CSS class "show-for-medium-up" is moved to "small-12". If you don't like it, please configure

page.63148.start__[layout].settings { ... }
Copied!

TypoScript 

If you are using own fluid templates, please note #i0224 in the ChangeLog

4.6 

Respect the both You MUST / You SHOULD below!

Bugfix columns confusion 

There was a columns confusion with the three columns gridelement. The bug is solved, but

You MUST

Feature: Gridelement will display header 

You SHOULD

Feature: New content element Page Media 

Display images of page resources media field. See

4.5 

4.5.5 

Layouts 

New backend layouts

  • silver 4: header || top || content || bottom || footer
  • silver 5: header || top || content || footer
  • silver 6: header || content || bottom || footer
  • silver 7: header || top || left | content | right || bottom || footer
  • silver 8: header || top || content | right || bottom || footer
  • silver 9: header || top || left | content || bottom || footer

4.5.3 

Social Media 

Additional social buttons:

  • flickr
  • github
  • linkedin
  • picasa
  • pinterest
  • spotify

4.5.0 

RSS Alternate Tag 

Start implements a relation alternate tag for an RSS feed. See details at

Administrators > Best Practice > RSS

4.2 

4.2.0 

Extension Manager 

The extension manager got new properties for

  • Backend Layouts
  • TCA

See @ Administrators > Setup > Extension Manager

Newsletter 

Powermail submit is managed by AJAX. You can disable this behaviour by the Constant Editor of powermail.

Sitemap