first commit

This commit is contained in:
salam committed 2026-10-19 08:18:39 +02:00
commit 1218dd1517
12716 files changed
+989233

No files matched your search

@@ -0,0 +1,17 @@
.. include:: ../Includes.txt
.. _adding-your-own-content-elements:
================================
Adding Your Own Content Elements
================================
.. attention::
This page has been merged into :ref:`TYPO3 Explained <t3coreapi:adding-your-own-content-elements>`
since core version 8.7.
**Older versions:**
Please refer to "Related Links" in the lower left corner of the page.
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,47 @@
.. include:: ../../Includes.txt
.. _constant-editor:
===============
Constant Editor
===============
The Constant Editor can be found in the module "Web > Template".
.. figure:: Images/WebTemplate.png
:alt: Location of the Template module
Web > Template
Select the page in the page tree which contains the root template of your website. This is
mostly the root page of your website as well.
.. figure:: Images/RootPage.png
:alt: Location of the Root Page in the page tree
The Root Page in the page tree
Select "Constant Editor" in the dropdown at the top of the "Web > Template" module. This
should show the root template of your website if it is available below the sentence
"Edit constants for template".
.. figure:: Images/DropDown.png
:alt: Location of the dropdown in the Template module
The dropdown in the template module
In the dropdown list "Category" select the category "Content".
.. figure:: Images/CategoryDropdown.png
:alt: Location of the category dropdown in the Template module
The category dropdown in the template module
This will give you a list with all the constants of this extension. All constants are
described and can be edited by clicking the pencil in front of the current value or by
editing the available field.
Don't forget to save the new values afterwards by using the appropriate button at the top
of the module. The new values will be stored in the "Constants" field of the root template
of your website.
@@ -0,0 +1,31 @@
.. include:: ../Includes.txt
.. _configuration:
=============
Configuration
=============
Configuring content elements can be done for the frontend and for the backend.
The easiest way to change the appearance of content elements in the frontend is by using
the "Constant Editor". These settings are global, which means they are not configurable in
a single content element. Constants are predefined.
TYPO3 CMS is using TypoScript as a configuration language and is used by the frontend
rendering. By overriding TypoScript you can influence the rendering of most of the
frontend.
For the backend, fields can be shown or hidden, depending on the fields you are using or
the fields an editor is allowed to use. Configuration like this is done using
"Page TSconfig" or "User TSconfig".
.. toctree::
:maxdepth: 5
:titlesonly:
:glob:
ConstantEditor/Index
TypoScript/Index
OverridingFluidTemplates/Index
@@ -0,0 +1,48 @@
.. include:: ../../Includes.txt
.. _overriding-fluid-templates:
==============================
Overriding the FLUID templates
==============================
At :ref:`typoscript` we have described the way content elements are rendered.
By default these settings are done in the file :file:`setup.typoscript` which can be found in the
folder :file:`EXT:fluid_styled_content/Configuration/TypoScript/`.
.. _overriding-fluid-templates-using-lib-fluidcontent:
Using lib.contentElement
========================
This option gives you the possibility to add another `templateRootPath` and can be defined
the same as `partialRootPaths` and `layoutRootPaths`:
.. code-block:: typoscript
lib.contentElement {
templateRootPaths {
200 = EXT:your_extension_key/Resources/Private/Templates/
}
partialRootPaths {
200 = EXT:your_extension_key/Resources/Private/Partials/
}
layoutRootPaths {
200 = EXT:your_extension_key/Resources/Private/Layouts/
}
}
A content element is using a `templateName`, which is defined in :file:`setup.typoscript`. You
can override this value, but the template from the extension "fluid_styled_content" will
not be loaded then, since its name is still the default value.
.. code-block:: typoscript
tt_content {
bullets {
templateName = ChangedName
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

@@ -0,0 +1,95 @@
.. include:: ../../Includes.txt
.. _typoscript:
==========
TypoScript
==========
At the section :ref:`using-the-rendering-definitions` you've already added the static
templates. Static templates are a collection of TypoScript files. These files are located
in the directory :file:`EXT:fluid_styled_content/Configuration/TypoScript/`.
.. figure:: Images/FileStructure.png
:alt: Structure of the TypoScript files
Structure of the TypoScript files
In this folder there are two files:
- :file:`constants.typoscript` - The file with the default constants. The "Constant Editor", as
described above, is using this file for its default settings.
- :file:`setup.typoscript` - This file will first include some other files which are located in
the "Setup" folder in the same directory. More about these files later.
In the folder :file:`ContentElement` there are files which are included by the file
:file:`setup.typoscript` as mentioned above. These files contain the rendering definitions of all
content elements, that are provided by the TYPO3 core. These are:
- :file:`Bullets.typoscript` - Configuration for Content Element "Bullet List"
- :file:`Div.typoscript` - Configuration for Content Element "Divider"
- :file:`Header.typoscript` - Configuration for Content Element "Header Only"
- :file:`Html.typoscript` - Configuration for Content Element "Plain HTML"
- :file:`Image.typoscript` - Configuration for Content Element "Image"
- :file:`List.typoscript` - Configuration for Content Element "General Plugin"
- :file:`MenuAbstract.typoscript` - Configuration for Content Element "Menu of subpages of selected pages including abstracts"
- :file:`MenuCategorizedContent.typoscript` - Configuration for Content Element "Content elements for selected categories"
- :file:`MenuCategorizedPages.typoscript` - Configuration for Content Element "Pages for selected categories"
- :file:`MenuPages.typoscript` - Configuration for Content Element "Menu of selected pages"
- :file:`MenuRecentlyUpdated.typoscript` - Configuration for Content Element "Recently updated pages"
- :file:`MenuRelatedPages.typoscript` - Configuration for Content Element "Related pages (based on keywords)"
- :file:`MenuSection.typoscript` - Configuration for Content Element "Section index (page content marked for section menus)"
- :file:`MenuSectionPages.typoscript` - Configuration for Content Element "Menu of subpages of selected pages including sections"
- :file:`MenuSitemap.typoscript` - Configuration for Content Element "Sitemap"
- :file:`MenuSitemapPages.typoscript` - Configuration for Content Element "Sitemaps of selected pages"
- :file:`MenuSubpages.typoscript` - Configuration for Content Element "Menu of subpages of selected pages"
- :file:`Shortcut.typoscript` - Configuration for Content Element "Insert records"
- :file:`Table.typoscript` - Configuration for Content Element "Table"
- :file:`Text.typoscript` - Configuration for Content Element "Regular Text Element"
- :file:`Textmedia.typoscript` - Configuration for Content Element "Text and Media"
- :file:`Textpic.typoscript` - Configuration for Content Element "Text and Images"
- :file:`Uploads.typoscript` - Configuration for Content Element "File Links"
Since we move away from TypoScript as much as possible, these rendering
definitions only declare the following:
- Can FLUIDTEMPLATE be used immediately or do we need data processing first?
A processor is sometimes used to do some data manipulation before all the data is sent
to the Fluid template.
- Assigning the Fluid template file for each type of content element separately.
- The configuration of the edit panel and the edit buttons for frontend editing. You
need to activate the extension "Frontend Editing (feedit)" in the Extension Manager to
see this in action.
In the folder :file:`Helper` there are files which are included by the file
:file:`setup.typoscript` as mentioned above. These are:
- :file:`ContentElement.typoscript` - Default configuration for content elements using
FLUIDTEMPLATE
- :file:`ParseFunc.typoscript` - Creates persistent ParseFunc setup for non-HTML content
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

@@ -0,0 +1,45 @@
.. include:: ../../Includes.txt
.. _content-element-bullets:
===========
Bullet list
===========
.. figure:: Images/BackendFieldBodytext.png
:alt: Backend display of the field for the Bullet list in the General tab
The field "Bullet list" in the "General" tab
With this content element you can provide unordered and ordered bullet lists, but also a
definition list, in the frontend.
The content is added in the field "Bullet list", where each new line is a new bullet.
.. code-block:: none
Bullet 1
Bullet 2
Bullet 3
For definition lists you use one line for a single definition which starts with the term,
followed by the description, separated by a vertical bar "|".
.. code-block:: none
Term 1|Description 1
Term 2|Description 2
Term 3|Description 3
.. figure:: Images/BackendTabAppearance.png
:alt: Backend display of the Appearance tab
The "Appearance" tab
The type of list can be defined with the field "Type of bullets", available in the
"Appearance" tab.
.. figure:: Images/Frontend.png
:alt: Frontend rendering of the content element Bullet list
Frontend output, showing all three types of bullet lists.
@@ -0,0 +1,10 @@
.. include:: ../../Includes.txt
.. _content-element-div:
=======
Divider
=======
Nothing more than a horizontal rule.
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,23 @@
.. include:: ../../Includes.txt
.. _content-element-header:
======
Header
======
.. figure:: Images/BackendFields.png
:alt: Backend display of the fields to configure the content element Header
The backend fields
The content element "Header" will render a header, which can be linked. There is the
possibility to add a subheader and a date. The fields used for this content elements are
the same as :ref:`content-elements-general-header`, but with a field for the subheader.
.. figure:: Images/Frontend.png
:alt: Frontend rendering of the content element header, with a subheader and date
grouped together
Frontend rendering of the content element header, with a subheader and date
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

@@ -0,0 +1,15 @@
.. include:: ../../Includes.txt
.. _content-element-html:
====
HTML
====
.. figure:: Images/BackendFieldsHtml.png
:alt: Backend display of the fields for the HTML content element in the General tab
The fields for "HTML" in the "General" tab.
Insert HTML directly using this content element.
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

@@ -0,0 +1,142 @@
.. include:: ../Includes.txt
.. _content-elements:
====================
The content elements
====================
This chapter will describe the basic set of content elements provided by the TYPO3 CMS
core. It will show you a description, screenshots of the backend fields and a screenshot
of the frontend rendering, only styled with the basic styling provided by the static
template "Content Elements CSS (optional) (fluid_styled_content)" described in chapter
:ref:`using-the-rendering-definitions`.
The screenshots of the fields are made with the extension configuration option
"Show only a minimum set of editing fields" SET TO OFF as described in chapter
:ref:`extension-manager-configuration`.
.. _content-elements-general:
General fields
==============
These are fields which are used by (almost) every content element.
.. _content-elements-general-header:
Header
------
.. figure:: Images/PaletteHeader.png
:alt: The header fields in the backend
The header fields
Almost every content element can contain a header, which consists of the following parts:
Header
The text of the header
Type
The type of heading (heading 1, heading 2, heading 3 ... or if the header is hidden).
When not choosing an option, the default heading will be used, which can be configured
at :ref:`constant-editor`.
Date
Have the possibility to group the header with a date
Link
Link wrapping the header text. This can be a TYPO3 CMS page, an external page, an email
address or a link to a file.
The header fields can be found in the "General" tab of a content element.
.. figure:: Images/LinkedHeaderAndDate.png
:alt: Frontend rendering of a linked header with a date
Frontend rendering of a linked header with a date
.. _content-elements-general-show-in-section-menus:
Show in section menu's
----------------------
Using this option will only be visible when using menu's based on sections. This will be
described in the chapter :ref:`content-element-menu`.
This field can be found in the *Appearance* tab.
.. figure:: Images/ShowInSectionMenus.png
:alt: Backend display of the field to show the content element in section menu's
The field "Show In Section Menu's"
.. _content-elements-general-link-to-top:
Append with Link to Top of Page
-------------------------------
.. figure:: Images/AppendWithLinkToTopOfPage.png
:alt: Backend display of the field to show a link to the top of the page
The field "Append with link to top of page"
When checked, this will render a link below the content element to bring the visitor the
top of the page. This will be very convenient for your visitors when having long pages.
.. figure:: Images/FrontendToTop.png
:alt: Frontend rendering of the To Top link
Frontend rendering of the To Top link
.. _content-elements-general-access:
Access
------
.. figure:: Images/Access.png
:alt: Backend display of the Access tab
The Access tab with all its fields
These fields define if and when a visitor has access to this content element. The access
fields all reside in the *Access* tab:
Visibility of content element
By checking this option the content element will not be visible to any visitor.
Publish Date
The date on which the content has to be published, which means making visible at a
certain date.
Expiration Date
The date on which the content will be expired, which means the content will be hidden
on a certain date
Usergroup Access Rights
Here you can select whether the content element only is available to a certain
frontend user group, if it has to be visible only when the visitor is logged in or if
it has to be hidden at a login.
.. toctree::
:maxdepth: 5
:titlesonly:
:glob:
Header/Index
TextMedia/Index
Bullets/Index
Table/Index
Uploads/Index
Menu/Index
Shortcut/Index
List/Index
Div/Index
Html/Index
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

@@ -0,0 +1,19 @@
.. include:: ../../Includes.txt
.. _content-element-list:
=============
Insert plugin
=============
.. figure:: Images/BackendTabPlugin.png
:alt: Backend display of the fields for the Insert Plugin content element in the
Plugin tab
The fields for "Insert Plugin" in the "Plugin" tab. This can be different for selected
plugins.
Extensions sometimes provide plugins to render frontend output, but basically they are the
same as content elements. When an extension depends on a plugin, select the plugin in this
content element. The fields might change depending on the plugin.
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

@@ -0,0 +1,75 @@
.. include:: ../../Includes.txt
.. _content-element-menu:
=====
Menus
=====
In websites menus are often created outside the content element scope, because they have
to reappear within every page. These could be the main menu, a sub menu, a bread crumb or
a language menu. However, there are situations where you would like to create a menu
specifically on one page. The following content elements will give you some options to render
a menu. These available content elements are:
Menu of selected pages
The menu consists of links to the selected pages in the TYPO3 CMS backend.
Menu of subpages of selected pages
The menu consists of links to the subpages of the selected pages in the TYPO3 CMS
backend.
Menu of subpages of selected pages including abstracts
The same as above, but showing the abstract of these pages as well, when not empty.
Menu of subpages of selected pages including sections
This will render a menu of the subpages of the selected pages. Below each subpage an
extra menu will be showing the titles of content elements which belong to that certain
subpage, which have the option "Show in Section Menus" in the Appearance tab enabled.
This makes it possible for the website visitor to jump to the selected content element,
within that page, immediately.
Sitemap
Render a full sitemap of the website, starting at the root page.
Sitemaps of selected pages
Render one or more sitemaps at once. The starting point of each site map will be a
single selected page.
Section index (page content marked for section menus)
Menu of content elements within the selected page, which have the option "Show in
Section Menus" in the Appearance tab enabled. This makes it possible for the website
visitor to jump to the selected content element, within that page, immediately.
Recently updated pages
Shows a list of pages which are updated in the last 7 days. Updated does only mean a
change in the page properties, not the content on the page.
Related pages (based on keywords)
Shows a list of the selected page and all other pages, which have one or more keywords,
entered in the page properties, in common.
Pages for selected categories
Displays a menu of all pages which have been assigned one or more of the selected
categories.
Content elements for selected categories
Displays a menu of all content elements which have been assigned one or more of the
selected categories.
The availability of links in each type of menu will depend on access rights. If a website
visitor has no access to a certain part (with a frontend login), the link will not be
shown.
.. figure:: Images/BackendFieldsMenuAndSitemap.png
:alt: Backend display of the fields for the Menu in the General tab
The fields for "Menu and Sitemap" in the "General" tab
In case no pages are selected (in most options), the menu will be rendered from the
current page where the menu is put on.
.. figure:: Images/Frontend.png
:alt: Frontend example of a menu with type 'Menu of subpages of selected pages including sections'
Example of the frontend output of a menu
Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

@@ -0,0 +1,30 @@
.. include:: ../../Includes.txt
.. _content-element-shortcut:
==============
Insert Records
==============
Ever have content on one page that you want on another one? But you don't want to have to
maintain both, keeping them in sync? And you don't want to show the whole content from one
page on another. Using insert records you can add one content element from a page or all
the content elements from a page. You can also add content element from several pages.
.. figure:: Images/BackendFieldsRecords.png
:alt: Backend display of the fields for the Insert Records content element in the General tab
The fields for "Insert Records" in the "General" tab
Just select the content elements you want to display and if necessary, put them in the
right order.
In the frontend the referenced content elements will show up the same as the original one
(if the styling is not different for that page)
.. note::
This is the only content element still using a bit of TypoScript in the rendering
process. This is done because you can add different rendering for records from
different tables. Take a look at :ts:`tt_content.shortcut.20`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

@@ -0,0 +1,58 @@
.. include:: ../../Includes.txt
.. _content-element-table:
=====
Table
=====
The "Table" content element allows to provide data as "comma separated values (CSV)", a
plain text form of storing tabular data (numbers and text). This form is often used to
move tabular data between two programs that natively operate on incompatible (often
proprietary and/or undocumented) formats, like Microsoft Office Excel. These programs
often provide CSV as an export method.
.. figure:: Images/BackendFieldsTable.png
:alt: Backend display of the fields for the Table in the General tab
The "General" table settings
Each line in the field *Table content* represents a row in the table. Columns are
separated by a *field delimiter*, which can be configured with the corresponding field.
Columns can be enclosed by a character, configured in the field
*Text enclosure*. This is especially helpful when you want to have newlines within a
column. By default the *Field delimiter* is a vertical bar "|", the *Text enclosure* set
to **none**.
.. code-block:: none
row 1 column 1|row 1 column 2|row 1 column 3
row 2 column 1|row 2 column 2|row 2 column 3
row 3 column 1|row 3 column 2|row 3 column 3
A *Table caption* can be provided as a heading for the table.
.. figure:: Images/BackendTabAppearance.png
:alt: Backend display of the Appearance tab
The "Appearance" tab
Also some appearance options are available for the table. These can be found in the
*Appearance* tab:
Columns
The maximum amount of columns. Even when more columns are defined in the
*Table content* field, the table will only show the maximum amount of columns.
Table header position
The first row or the first column can be used as a table header.
Use table footer
The last row will be used to group the table’s footer area (which may be a summary, an
addition of column values, or some call to action based on the preceding content).
.. figure:: Images/Frontend.png
:alt: Frontend rendering of two tables, one with a header position on top, the other one on the left
Frontend output, showing the different options of "Table header position"
Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

@@ -0,0 +1,43 @@
.. include:: ../../Includes.txt
.. _content-element-textmedia:
============
Text & Media
============
This content element allows to combine text and media elements, like images and/or movies.
The text can be entered in the Rich Text Editor (RTE) on the "General" tab.
.. figure:: Images/BackendFieldsRte.png
:alt: Backend display of the fields for the Rich Text Editor in the General tab
The Rich Text Editor (RTE) in the "General" tab
The media elements can be added in the "Media" tab. In this tab there is also the option
to turn the "enlarge on click" behaviour on for images.
.. figure:: Images/BackendTabMedia.png
:alt: Backend display of the Media tab
The "Media" tab
Multiple images and movies are combined as a gallery, which can be configured using the
"Appearance" tab. Options there are specific width or height for each element, if a border
should be shown around each element, the position of the gallery in relation to the text
and the amount of columns which should be used for the gallery.
.. figure:: Images/BackendTabAppearance.png
:alt: Backend display of the Appearance tab
The "Appearance" tab
The maximum width of the gallery can be different when the gallery is on top or bottom of
the text, or inside the text. This can be set using the :ref:`constant-editor`:
.. figure:: Images/Frontend.png
:alt: Frontend rendering of the content element Text & Media
Frontend output, using one image aligned left of the text. The text is wrapping the
image.
Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

@@ -0,0 +1,50 @@
.. include:: ../../Includes.txt
.. _content-element-uploads:
==========
File links
==========
This content element gives you the opportunity to offer downloadable files to the visitors
of your website.
.. figure:: Images/BackendFieldsFiles.png
:alt: Backend display of the fields for the File links in the General tab
The "General" file links fields
You can add or select single files but also use a file collection. A file collection can
be one of the following:
- A static selection of files
- A folder within a storage, holding the files
- A file selection by category
When combining both methods, single files and file collections, all files from these
methods will be presented to the website visitor.
.. figure:: Images/BackendTabAppearance.png
:alt: Backend display of the Appearance tab for the File links
The "Appearance" settings for file links
In the "Appearance" tab you will find several options how the files will be presented:
Display file/icon/thumbnail
In this dropdown you can select if you only want to show the file name, the file name
and a corresponding icon, based on the file extension, or the file name with a
thumbnail, if it is possible for TYPO3 CMS to generate a thumbnail from the file.
Display file size information
Will show the file size calculated from the amount of bytes and presented as a human
readable string with the proper unit (B, KB, MB ...).
Display description
Will display the description of each file, if available.
.. figure:: Images/Frontend.png
:alt: Frontend rendering of a file, with thumbnail, description and file size set
Frontend output of a file, with thumbnail, description and file size set
@@ -0,0 +1,13 @@
.. This is 'Includes.txt'. It is included at the very top of each and
.. every ReST source file in this documentation project (= manual).
.. role:: typoscript(code)
.. role:: ts(typoscript)
:class: typoscript
.. role:: php(code)
.. highlight:: php
.. default-role:: code
@@ -0,0 +1,58 @@
.. include:: Includes.txt
.. _start:
===============================
Content Elements based on Fluid
===============================
:Extension key:
fluid_styled_content
:Version:
|release|
:Language:
en
:Description:
Frontend rendering for TYPO3 CMS.
:Keywords:
frontend, content, fluid
:Copyright:
2015-2021
:Author:
TYPO3 CMS Core Development Team
:License:
Open Content License available from http://www.opencontent.org/opl.shtml
:Rendered:
|today|
The content of this document is related to TYPO3,
a GNU/GPL CMS/Framework available from http://typo3.org
.. only:: html
.. tip::
:ref:`Sitemap`
**Table of Contents**
.. toctree::
:maxdepth: 5
:titlesonly:
:glob:
Introduction/Index
Installation/Index
Configuration/Index
ContentElements/Index
AddingYourOwnContentElements/Index
Targets
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

@@ -0,0 +1,45 @@
.. include:: ../../Includes.txt
.. _extension-manager:
=================
Extension Manager
=================
The extension is a system extension and is installed by default.
.. figure:: Images/ExtensionManager.png
:alt: fluid_styled_content in the Extension Manager
"fluid_styled_content" is installed by default in the Extension Manager
.. _extension-manager-configuration:
Configuration
=============
In the extension manager you have the possibility to configure the extension. Click on the
name of the extension or click the "cogwheel" icon under "Actions" behind the extension
name.
.. figure:: Images/ConfigurationButton.png
:alt: Location of the configuration button in the Extension Manager
The location of the "cogwheel" icon under "Actions"
At the configuration screen you will find the next configuration options:
- **Load Page TSconfig with "New Content Element Wizard" definitions. The definitions can also**
**be loaded manually by including it in a page.** - When this option is selected, the PageTSconfig
of the extension is automatically included and does not need to be included manually. Use this
if you have a TYPO3 installation that uses `fluid_styled_content` everywhere without exception.
.. figure:: Images/Configuration.png
:alt: The configuration options in the Extension Manager
The configuration options in the Extension manager
When you are done configuring the extension, you can store your preferences by clicking
the "Save" (you will stay at the configuration screen) or "Save and Close" button (you
will be redirected to the extension list).
@@ -0,0 +1,19 @@
.. include:: ../Includes.txt
.. _installation:
============
Installation
============
This chapter describes the installation process.
.. toctree::
:maxdepth: 5
:titlesonly:
:glob:
ExtensionManager/Index
Upgrading/Index
UsingTheRenderingDefinitions/Index
InsertingContentPageTemplate/Index
@@ -0,0 +1,103 @@
.. include:: ../../Includes.txt
.. _inserting-content-page-template:
=======================================
Inserting content in your page template
=======================================
To get the different columns from the backend displayed in the frontend you can use
predefined CONTENT objects. Depending on the page templating you are using you would do
something in your TypoScript template like the following examples.
.. _inserting-content-page-template-template:
Based on the TEMPLATE content object (cObj)
===========================================
.. code-block:: typoscript
page = PAGE
page {
10 = TEMPLATE
10 {
file = your/html/template.html
subparts {
MAIN_CONTENT = CONTENT
MAIN_CONTENT {
table = tt_content
select {
orderBy = sorting
where = {#colPos}=0
languageField = sys_language_uid
}
}
}
}
}
.. _inserting-content-page-template-fluidtemplate:
Based on the FLUIDTEMPLATE content object (cObj)
================================================
.. code-block:: typoscript
lib.dynamicContent = COA
lib.dynamicContent {
10 = LOAD_REGISTER
10.colPos.cObject = TEXT
10.colPos.cObject {
field = colPos
ifEmpty.cObject = TEXT
ifEmpty.cObject {
value.current = 1
ifEmpty = 0
}
}
20 = CONTENT
20 {
table = tt_content
select {
orderBy = sorting
where = colPos={register:colPos}
where.insertData = 1
}
}
90 = RESTORE_REGISTER
}
page = PAGE
page {
10 = FLUIDTEMPLATE
10 {
templateName = Default
templateRootPaths {
0 = EXT:example_package/Resources/Private/Templates/Page/
}
partialRootPaths {
0 = EXT:example_package/Resources/Private/Partials/Page/
}
layoutRootPaths {
0 = EXT:example_package/Resources/Private/Layouts/Page/
}
}
}
.. code-block:: html
<f:layout name="Default" />
<f:section name="Main">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '0'}" />
</f:section>
.. seealso::
See the note about the removal of the predefined CONTENT objects like
:typoscript:`styles.content.get` at :ref:`upgrading`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

@@ -0,0 +1,58 @@
.. include:: ../../Includes.txt
.. _upgrading:
=========
Upgrading
=========
If you upgrade your TYPO3 CMS installation from one major version to another (for example
7.6 to 8.7), it is advised to run the Upgrade Wizards. They guide you through the
necessary steps to upgrade your database records or explicitly install extensions that
ship with the latest TYPO3 CMS version.
Some database fields of the table tt_content are no longer used, the fields of FlexForms
have been moved to proper database fields. To make sure you do not lose any information
or the content elements look differently on your upgraded website run these Upgrade Wizards.
The upgrade wizards can be found in the Install tool.
.. figure:: Images/UpgradeWizard.png
:alt: Location of the Upgrade Wizard in the Install Tool
Upgrade Wizard
.. attention::
The predefined CONTENT objects :ts:`styles.content.getLeft`,
:ts:`styles.content.getRight` and :ts:`styles.content.getBorder` are not
provided anymore. :ts:`styles.content.get` still exists for your convenience. Most of
the current websites are using "backend layouts", where the predefined numbering of the
columns does not make sense.
.. tip::
If you are still using the predefined CONTENT objects, you can use the following
TypoScript:
.. code-block:: typoscript
styles.content {
# get content, left
getLeft < styles.content.get
getLeft.select.where = {#colPos}=1
# get content, right
getRight < styles.content.get
getRight.select.where = {#colPos}=2
# get content, border
getBorder < styles.content.get
getBorder.select.where = {#colPos}=3
# get news
getNews < styles.content.get
getNews.select.pidInList = {$styles.content.getNews.newsPid}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,65 @@
.. include:: ../../Includes.txt
.. _using-the-rendering-definitions:
===============================
Using the rendering definitions
===============================
To use the default rendering definitions "fluid_styled_content" provides, you have to add
the static template to your TypoScript template. Go to the module "Web > Template":
.. figure:: Images/WebTemplate.png
:alt: Location of the Template module
Web > Template
In the page tree select the page which contains the root template of your website. This is
mostly the root page of your website as well:
.. figure:: Images/RootPage.png
:alt: Location of the Root Page in the page tree
The Root Page in the page tree
Select "Info/Modify" in the dropdown at the top of the "Web > Template" module. This
should show you the root template of your website if it is available:
.. figure:: Images/DropDown.png
:alt: Location of the dropdown in the Template module
The dropdown in the template module
Select ``Edit the whole template record`` at the bottom. This will open all the settings
of the root template:
.. figure:: Images/EditWholeTemplate.png
:alt: Location of the link to edit the whole template in the Template module
Edit the whole template record
Click on the tab "Includes" and select "Content Elements (fluid_styled_content)" in the part
"Available items" under "Include static (from extensions)". The selection will move to the
"Selected items":
.. figure:: Images/IncludesOne.png
:alt: The Include tab and the available items in Include Static
Including a static template from an extension
TYPO3 CMS is now using the rendering definitions of "fluid_styled_content" for the basic set of
content elements. This is basically unstyled HTML5 markup.
Unless you know what you are doing also include "Content Elements CSS (optional)
(fluid_styled_content)". Some CSS styling will be added to the output of your page to make sure all
the parts of a content elements have basic styling, like alignment and position. The
styling will not add any colors, do font changes or similar which should be related to
your website styles. This static include is optional, because some integrators want to
override even the basic styling.
.. figure:: Images/IncludesBoth.png
:alt: Inclusion of both static templates from the extension frontend
Including the static template for CSS styling
Save the template by using the appropriate button at the top of the module.
@@ -0,0 +1,73 @@
.. include:: ../Includes.txt
.. _introduction:
============
Introduction
============
.. _what-does-it-do:
What does it do?
================
The extension "fluid_styled_content" handles the rendering of the default set of content elements
shipped with the core by using the template engine "fluid".
"fluid_styled_content" provides a basic set of content elements which you can use for your
website. These can be used out-of-the-box, but can be adapted to your or your client
needs. You are not bound to using only these content elements. For custom made
functionality it is possible to add extra content elements to the basic set. How to adapt,
enhance or add content elements will be described in this document.
The rendering of the provided set of content elements is based on HTML5. Nowadays most of
the websites are built with this core technology markup language used for
structuring and presenting content in the World Wide Web. If your website is using
another markup, like HTML4 or XHTML, it is easy to exchange the provided templates with
your own.
.. _history:
A little bit of history
=======================
At the beginning of TYPO3 CMS content elements were rendered by the static template called
*content (default)*. This was mainly based on font-tags for styling and tables for
positioning which was needed to achieve the visual constructions in old versions of web
browsers.
Some time later the extension "css_styled_content" was introduced, which focused on
reducing the amount of TypoScript and providing XHTML/HTML5 markup which could be styled
by Cascading Style Sheets (CSS), a style sheet language used for describing the look and
formatting of a document written in a markup language. Still this extension was heavily
based on TypoScript and did allow custom modifications up to some point.
Since the introduction of the templating engine Fluid, more websites are using this for
page templating. Newer TYPO3 CMS packages (extensions) are also using Fluid as their base
templating engine. The content elements which were provided with TYPO3 CMS by default were
still using TypoScript and partly PHP code.
Since TYPO3 CMS version 7.5 the default content elements have been moved to this
extension **fluid_styled_content**, also using Fluid as their templating engine. The benefits are that
hardly any knowledge of TypoScript is needed to make changes. Integrators can easily
exchange the base content element Fluid templates with their own. In Fluid more complex
functionality that exceed the simple output of values has to be implemented with
ViewHelpers. Every ViewHelper has its own PHP class. Several basic ViewHelpers are
provided by Fluid. When using your own Fluid templates, developers can add extra
functionality with their own ViewHelpers, extending the possibilities of the content
elements.
.. _support:
Support
=======
Please see/report problems on TYPO3 Forge
`https://forge.typo3.org/projects/typo3cms-core/issues
<https://forge.typo3.org/projects/typo3cms-core/issues>`_
under category content rendering.
You may get support in the use of this extension by subscribing to
`https://forum.typo3.org/index.php/f/41/ <https://forum.typo3.org/index.php/f/41/>`_ .
@@ -0,0 +1,41 @@
[general]
; endless list of all of the general simple settings
; you can use in 'conf.py'
project = Content Elements based on Fluid (fluid_styled_content)
version = latest (9-dev)
release = latest (9-dev)
t3author = TYPO3 Core Team + Contributors, TYPO3 Documentation Team
copyright = 2015-2021
description = This documentation is about TYPO3's system extension
"fluid_styled_content" which provides content elements and uses Fluid to render
frontend output.
[html_theme_options]
; for theme t3SphinxThemeRtd
# Add 'Edit me on Github' button
github_branch = master
github_repository = typo3/typo3
path_to_documentation_dir = typo3/sysext/fluid_styled_content/Documentation
# show as related links
project_contact =
project_discussions = http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-content-rendering
project_home = https://forge.typo3.org/projects/typo3cms-core
project_issues = https://forge.typo3.org/projects/typo3cms-core/issues
project_repository = https://github.com/typo3/typo3
use_opensearch =
[intersphinx_mapping]
# These are common mappings. Uncomment only what you really use!
#
# see https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us/GeneralConventions/DirectoryFilenames.html#intersphinx-mapping
t3coreapi = https://docs.typo3.org/m/typo3/reference-coreapi/9.5/en-us/
@@ -0,0 +1,14 @@
:orphan:
.. include:: Includes.txt
.. only:: html
.. _Sitemap:
Sitemap
=======
.. toctree::
Index
@@ -0,0 +1,10 @@
.. include:: Includes.txt
.. _labels-for-crossreferencing:
============================
Labels for cross-referencing
============================
.. ref-targets-list::