Core Documentation

Here you will find the new official reference manuals. These documents are related to the core of TYPO3 and address the built in functionality of TYPO3. They are designed to provide you with in-depth information.

Old Core Documentation


1.2. User TSconfig

You can enter TSconfig for both backend users and groups. The resulting TSconfig for a certain backend user is the accumulated TSconfig for all the backend groups he's a member of. Thus you can override formerly set options from the user groups by entering another configuration in the TSconfig field of the user himself.

The "TSconfig" field

This is how the TSconfig for users is entered in the backend user records:

Verifying the final configuration

It's vital to check the resulting configuration of the users. You can do that in the Tools>User Admin (extension: beuser) module by clicking a username. Then you'll see the TSconfig tree among other information. Here's an example:

This configuration could be set by entering this value in the TSconfig field of the backend user:

options.clearCache.all = 1
TCAdefaults.tt_content {
  hidden = 1
  header = 234
}

Overriding previously set options

Now, lets say the user is a member of a usergroup with this configuration:

TCAdefaults.tt_content {
  hidden = 1
  header = Hello!
}

Then setting these values in the TSconfig field of the user himself, would override the default value of the header (marked red) and add clear cache option (marked blue). The default value of the hidden field is not changed and simply inherited directly from the group:

options.clearCache.all = 1

TCAdefaults.tt_content.header = 234

Setting default User TSconfig

User TSconfig is designed to be individual for users or groups of users. However it can be very handy to set global values that will be initialized for all users.

In extensions this is easily done by the extension API function, t3lib_extMgm::addUserTSConfig(). In the (ext_)localconf.php file you can call it like this to set default configuration:

/**

 * Adding the admin panel to users by default and forcing the display of the edit-icons

 */

t3lib_extMgm::addUserTSConfig('

admPanel {

  enable.edit = 1

  module.edit.forceNoPopup = 1

  module.edit.forceDisplayFieldIcons = 1

  module.edit.forceDisplayIcons = 0

  hide = 1

}

options.shortcutFrame = 1

');

This API function simply adds the content to $TYPO3_CONF_VARS[BE]['defaultUserTSconfig']

Top Level Objects

This is the User TSconfig Top Level Objects (TLOs):

Property:

Data type:

Description:

Default:

admPanel

->ADMPANEL

Options regarding the front-end admin panel

options

->OPTIONS

Options for the user, various

mod

(see ->MOD of Page TSconfig)

Overriding values for the backend modules

Deprecated. Use page.mod instead!

setup.defaults

setup.override

->SETUP

Default values and override values for the user settings known from the setup module.

Notice:

There is a tricky aspect to these settings; If first you have set a value by setup.override and then removes it again you will experience that the value persists to exist. This is because it is saved in the backend users profile. Therefore, if you have once set a value, do not remove it again by rather set it blank if you want to disable the effect again!

TCAdefaults.[tablename].[field]

string

Sets default values for records. The order of default values when creating new records in the backend is this:

  1. Value from $TCA

  2. Value from User TSconfig (these settings)

  3. Value from “defVals” GET vars (see alt_doc.php)

  4. Value from previous record based on 'useColumnsForDefaultValues'

However the order for default values used by tcemain.php if a certain field is not granted access to for user will be:

  1. Value from $TCA

  2. Value from User TSconfig (these settings)

So these values will be authoritative if the user has no access to the field anyway.

Example:

This sets the default hidden flag for pages to “clear”

TCAdefaults.pages.hidden = 0

user

This is for custom purposes.

Deprecated, use "tx_*" below from extensions

auth

Configuration for authentication services. Currently these are the options:

auth.BE.redirectToURL

Specifies a URL to redirect to after login is performed in the backend login form.

page

all page TSconfig properties

You can override all page TSconfig properties by putting them into user

TSconfig and prefixing them with page.

Example:

page.TCEMAIN.table.pages.disablePrependAtCopy = 1

tx_[extension key with no underscore]

This is reserved space for extensions.

[beuser]

->ADMPANEL

Configuration of the Admin Panel in the Frontend for the user.

Property:

Data type:

Description:

Default:

enable

[object]

Used to enable the various parts of the panel for users.

All values are 0/1 booleans.

General:

.all: enables all modules

Modules:

.preview

.cache

.publish

.edit

.tsdebug

.info

(For admin-users, all = 1 is default! Hardcoded in class)

hide

boolean

If set, the panel will not display in the bottom of the page. This has only a visual effect.

override

[object]

Override all admin panel settings:

.[modulename].[propertyname]

Note:

You have to activate a module first by setting

.modulename = 1

Full reference:

To find out the name of a modulename/property, you can have a look at the HTML code of the admin panel and watch the names of the form elements. In this example, the module name is “tsdebug”, and the property is called “displayTimes”:

name="TSFE_ADMIN_PANEL[tsdebug_displayTimes]"

Most common options

.preview.showHiddenPages (boolean)

.preview.showHiddenRecords (boolean)

.preview.simulateDate (timestamp)

.preview.simulateUserGroup (integer)

.cache.noCache (boolean)

.cache.clearCacheLevels (integer)

.edit.displayFieldIcons (boolean)

.edit.displayIcons (boolean)

.edit.editFormsOnPage (boolean)

.edit.editNoPopup (boolean)

module.edit

[object]

DEPRECATED, use override.* instead (see above).

.forceDisplayIcons (boolean):

Forces edit-panels to appear regardless of the selectorbox.

.forceDisplayFieldIcons (boolean):

Forces edit-icons to appear regardless of the selectorbox.

.forceNoPopup (boolean):

Forces edit-forms to open in same window - not pop up window.

Example, that forces the display of the edit icons without displaying the admin-panel itself:

admPanel {

  enable.edit = 1

  module.edit.forceDisplayFieldIcons = 1

  hide = 1

}

[beuser:admPanel]

Tip:

If you want to link to the login-screen of the backend, but wishes that the user should return to the front-end for editing, you do it by this link, sending the “redirect_url” parameter to the login-screen. In that case the backend interface is not started.

<a href="typo3/index.php?redirect_url=../">Backend login returning to front-end</a>

This is how the admin panel looks. Notice the fact that the visibility of the admin panel is ultimately depending on being configured in your TypoScript template for the website! This is easily done by inserting this string in the TypoScript Template:

config.admPanel = 1

or if you use frames, this is probably better:

page.config.admPanel = 1

->OPTIONS

Various options for the user affecting the core at various points.

Property:

Data type:

Description:

Default:

dontMountAdminMounts

boolean

This options prevents the root to be mounted for an admin user.

NOTE: Only for admin-users. For other users it has no effect.

RTEkeyList

[list of keywords]

This is a list of the Rich Text Editor buttons the user may see displayed. The user will not see any buttons not listed here.

Either enter a comma list of button keywords  (see “TYPO3 Core API / RTE section”) or specify all with a wildcard “*” for everything.

*

(If value is not set at all, *, is default)

clearCache.pages

boolean

This will allow a user to clear the whole page cache.

clearCache.all

boolean

This will allow a user to clear all cache (that is everything including templates)

lockToIP

string

List of IP-numbers with wildcards.

Note: This option is enabled only if the TYPO3_CONF_VARS[BE][enabledBeUserIPLock] configuration is true.

Examples:

192.168.*.*    

- will allow all from 192.168-network

192.168.*.*, 212.22.33.44    

- will allow all from 192.168-network plus all from REMOTE_ADDR  212.22.33.44

192.168, 212.22.33.44    

- the same as the previous. Leaving out parts of the IP address is the same as wild cards...

saveClipboard

boolean

If set, the clipboard content will be preserved for the next login. Normally the clipboard content lasts only during the session.

clipboardNumberPads

int (0-20)

This allows you to enter how many pads you want on the clipboard.

3

disableDocModuleInAB

boolean

If set, the doc module is not displayed in the backend even if enabled in general.

shortcutFrame

boolean

If set, the shortcut frame in the bottom of the window appears.

shortcutGroups

Array of integers/strings

Set shortCutGroups that can be accessed by the user.

By default, 5 default groups will be defined globally (shared, can only be set by admins) and also for each user (personal shortcuts):

1: Pages

2: Records

3: Files

4: Tools

5: Miscellaneous

Set 0 to disable one of these group IDs, 1 to enable it (this is the

default) or "string" to change the label accordingly.

Example:

shortcutGroups {

  1=1

  2=My Group

  3=0

  4=

}

Shortcut group 1 is loaded with the default label (Pages), group 2 is loaded and labeled as "My Group" and groups 3 and 4 are disabled. Group 5 has not been set, so it will be displayed by default, just like group 1.

shortcut_onEditId_dontSetPageTree

boolean

If set, the page tree is not opened to the page being edited when an id number is entered in the “Edit Id” box

shortcut_onEditId_keepExistingExpanded

boolean

If set, the existing expanded pages in the page tree are not collapsed when an id is entered in the “Edit Id” box.

(provided .shortcut_onEditId_dontSetPageTree is not set!)

mayNotCreateEditShortcuts

boolean

If set, then the user cannot create or edit shortcuts. Depends on .shortcutFrame being set.

createFoldersInEB

boolean

If set, a createFolders option appears in the element browser (for admin-users this is always enabled).

noThumbsInEB

boolean

If set, then image thumbnails are not shown in the element browser.

noThumbsInRTEimageSelect

boolean

As  .noThumbsInEB but for the Rich Text Editor image selector.

uploadFieldsInTopOfEB

boolean

If set, the upload-fields in the element browser are put in the top of the window.

saveDocNew

saveDocNew.[table]

boolean / “top”

If set, a button “Save and create new” will appear in TCEFORMs.

Any value set for a single table will override the default value set to the object “saveDocNew”.

Example:

In this example the button is disabled for all tables, except tt_content where it will appear, and in addition create the records in the top of the page (default is after instead of top).

options.saveDocNew = 0

options.saveDocNew.tt_content = top

disableDelete

disableDelete.[table]

Disables the “Delete” button in TCEFORMs.

Overriding for single tables works like “saveDocNew” above.

showHistory

showHistory.[table]

Shows link to the history for the record in TCEFORMs.

Overriding for single tables works like “saveDocNew” above.

pageTree.disableIconLinkToContextmenu

folderTree.disableIconLinkToContextmenu

boolean / “titlelink”

If set, the page/folder-icons in the page/folder tree will not activate the clickmenu.

If the value is set “titlelink” then the icon will instead be wrapped with the same link as the title.

pageTree.disableTitleHighlight

boolean

If set, the page titles in the page tree will not be highlighted when clicked.

pageTree.showPageIdWithTitle

boolean

If set, the titles in the page navigation tree will have their ID numbers printed before the clickable title.

pageTree.showDomainNameWithTitle

boolean

If set, the domain name will be appended to the page title for

pages that have "Is root of web site?" checked in the page properties.

Useful if there are several domains in one page tree.

pageTree.onlineWorkspaceInfo

boolean

If set, the workspace info box will also be shown in the page tree even in online mode. Recommended when working with workspaces a lot.

contextMenu.[key].disableItems

list of items

List of context menu (“clickmenu”) items to disable.

“key” points to which kind of icon that brings up the menu, and possible options are “pageTree”, “pageList”, “folderTree”, “folderList”. “page” and “folder” obviously points to either the Web og File main module. “Tree” and “List” points to whether the menu is activated from the page/folder tree or the listing of records/files

Items to disable are (for “page” type - that is database records):

view,edit,hide,new,info,copy,cut,paste,delete,move_wizard,

history,perms,new_wizard,hide,edit_access,edit_pageheader,db_list

Items to disable are (for “folder” type - that is files/folders):

edit,upload,rename,new,info,copy,cut,paste,delete

contextMenu.options.leftIcons

boolean

If set, the icons in the clickmenu appear to the left instead of right

contextMenu.options.clickMenuTimeOut

int, 1-100

Number of seconds the click menu is visible in the top frame before it disappears by it self.

5

contextMenu.options.alwaysShowClickMenuInTopFrame

boolean

If set, then the clickmenu in the top frame is always shown. Default is that it's shown only if the pop-up menus are disabled by user or by browser.

overridePageModule

string

By this value you can substitute the default “Web > Page” module key (“web_layout”) with another backend module key.

Example:

options.overridePageModule = web_txtemplavoilaM1

This will enable TemplaVoila page module as default page module.

moduleMenuCollapsable

boolean

If set, the user can collapse main modules in the left menu.

1

alertPopups

bitmask

Configure which Javascript popup alerts have to be displayed and which not:

1 – onTypeChange
2 – copy / move / paste
4 - delete
8 – FE editing
128 - other (not used yet)

Default: 255 (show all warnings)

defaultFileUploads

integer

Default number of file upload forms shown in the File->List module

hideRecords.[table]

[list of record uids]

This hides records in the backend user interface. It is not an access

restriction but makes defined records invisible. That means in principle

those records can still be edited if the rights allow. This makes sense if a

specialized module should be used only to edit those records.

This option is currently implemented for pages only and has an effect in

following places:

- Pagetree navigation frame

- Web>List module

- New record wizard

Example:

options.hideRecords.pages = 12,45

additionalPreviewLanguages

[list of sys_language record uids]

The user will see these additional languages when localizing stuff in TCEforms. The list are uid numbers of sys_language records.

[beuser:options]

->SETUP

Default values and overriding values for the “User > Setup” module.

Notice: the User > Setup module only represents a subset of the options from the table below.

Default values are set by 'setup.default' while overriding values are set by 'setup.override'. Overriding values will be impossible for the user to change himself and no matter the current value the overriding value will overrule. The default values are used for new users or if the setup is re-initialized.

NOTICE: If you have first set a value (by override eg) and then REMOVE that value from being set, the value is NOT restored to the original default but is kept at the current value! Therefore setting a value and later removing that value would require the users preferences to be reset (you can do that from the Install Tool > Database Analyser > Reset user preferences) OR better, don't remove the value, just change the value of it! (eg. to a blank string if you wish to “reset” the value).

This table shows the keys for both defaults and override values:

Property:

Data type:

Description:

Default:

thumbnailsByDefault

boolean

Show Thumbnails by default

emailMeAtLogin

boolean

Notify me by email, when somebody logs in from my account

startInTaskCenter

boolean

If set, then the backend will start up in the task center (task center should be enabled for the user)

helpText

boolean

Show help text when applicable

titleLen

int+

Max. Title Length

edit_wideDocument

boolean

Wide document background

edit_RTE

boolean

Enable Rich Text Editor

edit_docModuleUpload

boolean

File upload directly in Doc. module

edit_showFieldHelp

string

Keywords: “”, “icon” or “text”

Determines the type of help text mode for TCA form fields.

navFrameWidth

int+

The width in pixels of the navigation frame in the Page and File main modules

245 pixels

navFrameResizable

boolean

If set, the frameset modules will have the border between the navigation and list frame resizable.

lang

language-key

One of the language-keys. See t3lib/config_default.php for current options. Eg. “dk”, “de”, “es” etc.

copyLevels

int+

Recursive Copy: Enter the number of page sublevels to include, when a page is copied

recursiveDelete

boolean

Recursive Delete(!): Allow ALL subpages to be deleted when deleting a page

allSaveFunctions

boolean

Display all save functions in Doc-module menu

neverHideAtCopy

boolean

If set, then the hideAtCopy feature for records in TCE will not be used.

condensedMode

boolean

If set, the backend will not load the Web-submodules and File-submodules in a frameset but allow the page and folder trees to load the submodule in its own frame. This allows for a better display on small screens.

noMenuMode

boolean / string

If set, the backend will not load the left menu frame but rather put a selector-box menu in the topframe. This saves a lot of space on small screens. Also icons will not be displayed in the clickmenu panel in the top.

Value “icons”:

Setting noMenuMode to “icons” will still remove the menu, but instead of the selectorbox menu you will have the whole clickmenu panel as a menu with the icons only as the hidden state of the clickmenu panel. This is extremely nice (in my opinion) for experienced users who know the icons of the modules.

classicPageEditMode

boolean

Setting this option will not open the Web>Page module but rather load the content elements (normal column/default language) together with the page header in one big form when a page is edited (clicking a page icon in the page tree). This simulates the old behaviour in Classic Backend

hideSubmoduleIcons

boolean

If set then submodule icons will not be shown in the left menu of the backend.

dontShowPalettesOnFocusInAB

boolean

If set, palettes are not activated in the TCEFORMs when focus is moved to a field.

disableCMlayers

boolean

Disable the context menu layers in the backend.

disableTabInTextarea

boolean

If you are using IE or Mozilla, TYPO3 will load a little JavaScript file that makes it possible to use the <tab> key in textareas. If you don't like the feature for some reason, you can disable it here.

[beuser:setup.default/setup.override]

Don't use any other properties than the ones listed in the table above.