DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Reference

TypoScript Setup

settings.cObject

Property

settings.cObject

Data type

array

Description

Definition of the Backend Layout

settings.cObjectFlexFile

Property

settings.cObjectFlexFile

Data type

string

Description

Path to a FlexForm XML file, alternative to the cObject definition.

settings.renderMethod

Property

settings.renderMethod

Data type

string

Description

By default it renders the cObject but if you set it to “flexFormFile” the “cObjectFlexFile” will be used

Default

flexForm

settings.title

Property

settings.title

Data type

string

Description

Label of the content Element

settings.description

Property

settings.description

Data type

string

Description

Description of the CE for the wizard.

settings.previewObj

Property

settings.previewObj

Data type

stdWrap

Description

Could be anything what TypoScript can do. Renders the backend preview in the page module.

settings.renderObj

Property

settings.renderObj

Data type

stdWrap

Description

Define here the frontend rendering of your content Element.

settings.icon

Property

settings.icon

Data type

string

Description

Path to a icon Image (eq GIF) for the CE Wizard

Default

Ext default

settings.iconSmall

Property

settings.iconSmall

Data type

string

Description

Path to a icon Image (eq GIF) the the Ctype Dropdown.

Default

Ext default

settings.disableDefaultDrawItem

Property

settings.disableDefaultDrawItem

Data type

boolean

Description

Whether to draw the item using the default functionalities

Default

0

settings.flexform

Property

settings.flexform

Data type

Array

Description

This will be automaticly filled by the Extension with the Data from the settings.cObject or the values from the FlexFile (cObjectFlexFile) if your fields named like “settings.flexform.yourfield

Default

Ext. automatic

settings.cObject

Property

settings.cObject

Data type

Array

Description

Definition of the Backend Layout

settings.cObjectFlexFile

Property

settings.cObjectFlexFile

Data type

string

Description

Path to a FlexForm XML file, alternative to the cObject definition.

settings.altLabelField

Property

settings.altLabelField

Data type

string

Description

Overwrite the TCA Label in the List Module with static value. Useful if you're not using the tt_content header Field.Feature needed to be enabled in extManager extConf!

settings.altLabelField.userFunc

Property

settings.altLabelField.userFunc

Data type

string

Description

Like above but uses a userFunction to generate the title. Example of a user function included in the Extension Folder (Resources / Private / LabelUserFunc / user_labelexample.class.php See it in action with the gallery example (enable feature in extMgr and go to list module to a page which has the gallery element on it) Call it like this:altLabelField.userFunc = EXT:content_designer/Resou rces/Private/LabelUserFunc/user_labelexample.class.php:user_labelexa mple->getUserLabelFeature needed to be enabled in extManager extConf!

settings.tca

Property

settings.tca

Data type

string

Description

The default TCA Layout for the Content Element. Since 2.6.0 it's empty and then the setting tcaFromType will be used. If you put something into this (like TS default commented code) this is used

settings.tcaFromType

Property

settings.tcaFromType

Data type

string

Description

Copies the default TCA from another Ctype and appends the pi_flexform field. By default it copies from the Header CType

Default

header

settings.tcaFromTypePosition

Property

settings.tcaFromTypePosition

Data type

string

Description

Where should be the pi_flexform TCA field placed

Default

after:header

[tsref:tt_content.tx_contentdesigner_YOURELKEY]

if you want to extend the page properties use the following:

pages.tx_contentdesigner_flexform

Example

Some examples on usage:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
#
## Simple usage Example
#
tt_content.tx_contentdesigner_testElement < plugin.tx_contentdesigner
tt_content.tx_contentdesigner_testElement.settings {
    # Element Title
    title = Test
    description = Sample Element of Plugin content designer

    # Flexform Field Definitions
    cObject {
      # Define a Sheet
      sTEMP {
        sheetTitle = Dateneingabe

        # Add Sheet Elements
        el {
          # Define a field just with flexform configuration
          text {
            label = Titel
            config.type = text
          }

          selectedVal {
            label = Select a value (select example)

            config {
              type = select
              items {
                0.0 = Value A
                0.1 = A

                1.0 = Value B
                1.1 = B
              }
            }
          }

          # Any fieldname will be preset with the string tsc_ (so object will be tsc_object in renderObj)
          object {
            label = Select a Page
            config {
              type          = group
              internal_type = db
              allowed       = pages
              size          = 1
              maxitems      = 1
              minitems      = 0
              show_thumbs   = 0
            }
          }
        }
      }

    }

    # Frontend Rendering
    renderObj {
      20       = TEXT
      20.field = text
      20.wrap  = <strong>|</strong><br>

      30 = CASE
      30 {
         key.field = selectedVal

         A = TEXT
         A.value = A
         A.wrap = You've selected <strong>value |</strong><br>

         B < .A
         B.value = B
      }

      40 = RECORDS
      40 {
         source.field = object
         tables = pages
         dontCheckPid = 1
         conf.pages = TEXT
         conf.pages.field = title
         conf.pages.wrap = <span style="background-color: yellow;">|</span>
      }
   }

   previewObj = COA
   previewObj {
     10 = TEXT
     10.field = text
     10.wrap = <p>|</p>
   }
}
#
## Example how to load a FlexForm File
#
tt_content.tx_contentdesigner_flexTest < plugin.tx_contentdesigner
tt_content.tx_contentdesigner_flexTest.settings {
    # Element Title
    title = FlexTest
    description = Test flexform file include experience

    # Flexform Field Definitions
   renderMethod    = flexFormFile
   cObjectFlexFile = EXT:content_designer/Configuration/FlexForms/testfile.xml

    # Frontend Rendering
    renderObj.20       = TEXT
    renderObj.20.field = test
    renderObj.20.wrap  = Your Selection: <strong>|</strong>

    previewObj = COA
    previewObj {
      10 = TEXT
      10.field = test
      10.wrap = <p>|</p>
    }
}
#
## Example how to make a another plugin to a ctype
#
#tt_content.tx_contentdesigner_youtube < plugin.tx_jhsimpleyoutube
#tt_content.tx_contentdesigner_youtube = USER
#tt_content.tx_contentdesigner_youtube {
#  userFunc      = TYPO3\CMS\Extbase\Core\Bootstrap->run
#
#  pluginName    = Pi1
#  extensionName = JhSimpleYoutube
#  controller    = VideoRenderer
#  vendorName    = TYPO3
#
#  settings {
#    title       = YouTube
#    description = Video integration
#
#    icon      = ../typo3conf/ext/content_designer/Resources/Public/MediaElementJS/ce_wiz.gif
#
#    cObjectFlexFile = EXT:jh_simple_youtube/Configuration/FlexForms/contentPlugin.xml
#  }
#}
/*
# Example to get Flexform data from another plugin
tt_content.tx_contentdesigner_myTest < plugin.tx_contentdesigner
tt_content.tx_contentdesigner_myTest.settings {
   # Element Title
   title = MyTest
   description = cObjectFromPlugin Test

   # Flexform Field Definitions
   cObjectFromPlugin = icalimporter_list
}
*/

pages.tx_contentdesigner_flexform.settings {
   #cObjectFlexFile = EXT:content_designer/Configuration/FlexForms/MediaElementJS.xml
   cObject.sDEF {
      sheetTitle = Dateneingabe

      el.text {
         label = Titel
         config.type = text
      }
   }
}
tt_content.tx_contentdesigner_pages < plugin.tx_contentdesigner
tt_content.tx_contentdesigner_pages.settings {
   title = Page Properties
   description = Example of the new page properties feature... just output

   cObject {
   }

   renderObj >
   renderObj = TEXT
   renderObj {
      data = page:text
      br   = 1
      wrap = <p><strong>Pages Text:</strong><br>|</p>
   }
}
/*
page.config.disableAllHeaderCode = 1
page.10 >
page.10 = TEXT
page.10.field = text
page.10.br = 1
*/
# Example to extend tt_content CType TEXT & MEDIA
module.tx_contentdesigner.extendCType {
   textmedia {
      sDEF {
         sheetTitle = Test
         el.myfield {
            label = Mein Feld
            config.type = input
         }
      }
   }
}

Hints and Tipps

  • For tricks take also a look into the typoscript examples.
  • In some cases your content element idea is to complex to make it with typoscript. So make a flexForm XML and include it alternatively with cObjectFlexFile = yourflexfile.xmlrenderMethod = flexFormFile

Page TSconfig

With the Tsconfig you change the visibility, title, or else of the Content Elements. You can disable this function in the Extension Configuration in Ext. Manager. In this case the elements will be added by a Typo3 Hook.

mod.wizards.newContentElement.wizardItems.cd.header = LLL:EXT:content_designer/Resources/Private/Language/locallang_be.xml:wizard.sheetTitle

Here is an example on how to remove a Content Element (maybe for a BE user group or else):

mod.wizards.newContentElement.wizardItems.cd.show := removeFromList(tx_contentdesigner_googleStaticImage)
TCEFORM.tt_content.CType.removeItems := addToList(tx_contentdesigner_googleStaticImage)

Here's an example to controll the typo3 normal fields like header or header_link and so on:

TCEFORM.header.type.tx_contentdesigner_YOURELEMENTKEY.disabled = 1
TCEFORM.header_link.type.tx_contentdesigner_YOURELEMENTKEY.disabled = 1