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.
Based on the TEMPLATE content object (cObj)¶
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
}
}
}
}
}
Based on the FLUIDTEMPLATE content object (cObj)¶
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/
}
}
}
<f:layout name="Default" />
<f:section name="Main">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '0'}" />
</f:section>
See also
See the note about the removal of the predefined CONTENT objects like
styles.content.get
at Upgrading.