Inserting content in your page template

To get the different columns from the backend displayed in the frontend you can use predefined CONTENT objects or the DatabaseQueryProcessor.

It is advised to make all your changes in a custom extension, visit the site package documentation to find out more.

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/
      }
   }
}
Copied!
<f:layout name="Default" />
<f:section name="Main">
   <f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '0'}" />
</f:section>
Copied!

Next step

You can start adding content elements or make further configurations.