This allows you to have the frontend cache for additional pages cleared when saving
to some page or branch of the page tree.
It it possible to trigger clearing of all caches or just the pages cache. It is also
possible to target precise pages either by referring to their ID numbers or to tags
that are attached to them.
Example: Clear the cache for certain pages when a record is changed
EXT:site_package/Configuration/page.tsconfig
TCEMAIN {
# Clear the cache for page uid 12 and 23 when saving a record in this page
clearCacheCmd = 12, 23
# Clear all frontent page caches of pages
clearCacheCmd = pages
# Clear ALL caches
clearCacheCmd = all
# Clear cache for all pages tagged with tag "pagetag1"
clearCacheCmd = cacheTag:pagetag1
}
Copied!
Note
In order for the
pages and
all commands to work for non-admin users,
make sure to set
options.clearCache.pages = 1 or
options.clearCache.all = 1 accordingly
in the user TSconfig.
Example: Do not hide pages when they are copy-pasted
EXT:site_package/Configuration/page.tsconfig
TCEMAIN.table.pages {
# Pages will *not* have "(copy)" appended:
disablePrependAtCopy = 1
# Pages will *not* be hidden upon copy:
disableHideAtCopy = 1
}
Copied!
These settings adjust that a page which is copied will neither have "(copy X)" appended nor be hidden.
The last page in this tree, labeled "Test", is used as original to be copied. The first sub page was
copied using the settings from the above example: It is labeled "Test" and is visible exactly like
the original page. The page "Test (copy 2)" in the middle was in contrast copied in default mode:
The page is hidden and the "(copy X)" suffix is added, if another page with the same named existed already.
Hidden page with added suffix after copying its original page
Example: Apply disableHideAtCopy as default to all tables
The word "prepend" is misleading. The "(copy)" label is actually appended to the record title.
Example: Do not append the "(copy)" label to newly copied pages
EXT:site_package/Configuration/page.tsconfig
TCEMAIN.table.pages {
# Pages will *not* have "(copy)" appended:
disablePrependAtCopy = 1
# Pages will *not* be hidden upon copy:
disableHideAtCopy = 1
}
Copied!
These settings adjust that a page which is copied will neither have "(copy X)" appended nor be hidden.
The last page in this tree, labeled "Test", is used as original to be copied. The first sub page was
copied using the settings from the above example: It is labeled "Test" and is visible exactly like
the original page. The page "Test (copy 2)" in the middle was in contrast copied in default mode:
The page is hidden and the "(copy X)" suffix is added, if another page with the same named existed already.
Hidden page with added suffix after copying its original page
Example: Apply disablePrependAtCopy as default to all tables
EXT:site_package/Configuration/page.tsconfig
TCEMAIN.default {
disablePrependAtCopy = 1
}
Copied!
linkHandler
linkHandler
linkHandler
Type
array of link handler configurations
Contains an array of link handler configurations.
Attention
The keys in this array
uniquely identify the type of link and are used in the TYPO3 link format,
for example t3://record?identifier=my_content&uid=123. Therefore the key
must never be changed or all existing links in the content will stop working.
handler
Fully qualified name of the class containing the backend link handler.
configuration
Configuration for the link handler, depends on the
handler.
For
\TYPO3\CMS\Backend\LinkHandler\RecordLinkHandler
configuration.table must be defined.
scanBefore /
scanAfter
Define the order in which handlers are queried when determining
the responsible tab for editing an existing link.
displayBefore /
displayAfter
Define the order of how the various tabs are displayed in the
link browser.
Changed in version 12.0
Due to the integration of EXT:recordlist into EXT:backend the namespace of
LinkHandlers has changed from
\TYPO3\CMS\Recordlist\LinkHandler to
\TYPO3\CMS\Backend\LinkHandler.
For TYPO3 v12 the moved classes are available as an alias under the old
namespace to allow extensions to be compatible with TYPO3 v11 and v12.
Example: Display an additional tab in the linkbrowser
The following page TSconfig display an additional tab with the label as
title in the linkbrowser. It then saves the link in the format
t3://record?identifier=my_content&uid=123. To render the link in the
frontend you need to define the same key in the TypoScript setup
config.recordLinks.
The value
copyFromParent can be set for each of the
page TSconfig
TCEMAIN.permissions.* sub keys. If this value is
set, the page access permissions are copied from the parent page.
By default all new pages created by users will inherit the group of the parent
page. Members of this group get all permissions. Users not in the group get no
permissions.
When an administrator creates a new page she can use the module
System > Access to set a different owner group for this new page.
All subpages created to this new page will now automatically have the new pages
group. The administrator does not have to set custom TSconfig to achieve this.
This behaviour is similar to the "group sticky bit" in Unix for directories.
everybody
permissions.everybody
permissions.everybody
Type
list of strings or integer 0-31
Default
0
Default permissions for everybody who is not the owner user or member of
the owning group, key list: show, edit, delete, new, editcontent.
Alternatively, it is allowed to set an integer between 0 and 31, indicating
which bits corresponding to the key list should be set: show = 1,
edit = 2, delete = 4, new = 8, editcontent = 16.
It also possible to set the value
copyFromParent to inherit
the value from the parent page.
Example: Set permissions defaults so that everybody can see the page
EXT:site_package/Configuration/page.tsconfig
TCEMAIN.permissions {
# Everybody can at least see the page, normally everybody can do nothing
everybody = show
}
Copied!
The page "Community" was created with the settings from the example
above. Compared to the two other pages created with default
permissions you can see the effect: "Everybody" has read access:
Page with altered permissions for backend users, groups and everybody
group
permissions.group
permissions.group
Type
list of strings or integer 0-31
Default
show,edit,new,editcontent
Default permissions for group members, key list: show, edit, new,
editcontent.
Alternatively, it is allowed to set an integer between 0 and 31, indicating
which bits corresponding to the key list should be set: show = 1,
edit = 2, delete = 4, new = 8, editcontent = 16.
It also possible to set the value
copyFromParent to inherit
the value from the parent page.
Example: Set permission defaults so that the group can do anything but delete a page
EXT:site_package/Configuration/page.tsconfig
TCEMAIN.permissions {
# Group can do anything, normally "delete" is disabled
group = 31
}
Copied!
The page "Community" was created with the settings from the example
above. Compared to the two other pages created with default
permissions you can see the effect: The Backend Group can now also
delete the page by default:
Page with altered permissions for backend users, groups and everybody
groupid
permissions.groupid
permissions.groupid
Type
positive integer or string
By default the owner group of a newly created page is set to the main group
of the backend user creating the page.
By setting the value of this property to
copyFromParent the owner
group is copied from the newly created pages parent page.
The owner group of a newly created page can be hardcoded by setting this
property to a positive integer greater then zero.
Example: Set default user group for permissions on new pages
EXT:site_package/Configuration/page.tsconfig
TCEMAIN {
# Owner be_groups UID for new pages
permissions.groupid = 3
}
Copied!
In this instance, backend group with UID 3 is "test_group". With the configuration
above a new page would be created with this group setting instead of the default,
even if a user who is not member of that group creates the page:
Alternatively, it is allowed to set an integer between 0 and 31, indicating
which bits corresponding to the key list should be set: show = 1,
edit = 2, delete = 4, new = 8, editcontent = 16.
It also possible to set the value
copyFromParent to inherit
the value from the parent page.
Example: Set permission defaults so that the pages owner can do anything
EXT:site_package/Configuration/page.tsconfig
TCEMAIN.permissions {
# User can do anything, this is identical to the default value
user = 31
}
Copied!
userid
permissions.userid
permissions.userid
Type
positive integer or string
By default the owner of a newly created page is the user that created or
copied the page.
By setting the value of this property to
copyFromParent the owner
group is copied from the newly created pages parent page.
When this property is set to a positive integer the owner of new pages is
hardcoded to the user of that uid.
Example: Set default user for permissions on new pages
EXT:site_package/Configuration/page.tsconfig
TCEMAIN {
# Owner be_users UID for new pages
permissions.userid = 2
}
Copied!
In this instance, backend user with UID 2 is "test". With the configuration
above a new page would be created with this owner setting instead of the default,
even if another user creates the page:
Page with altered permissions for backend users
preview
preview
preview
Type
array
Configure preview link generated for the save+view button and other frontend view related buttons
in the backend. This allows to have different preview URLs depending on the record type. A common
use case is to have previews for blog or news records, and this feature allows you to define a different
preview page for content elements as well, which might be handy if those are stored in a sysfolder.
The
previewPageId is the uid of the page to use for preview. If this setting is omitted the
current page will be used. If the current page is not a normal page, the root page will be chosen.
The
disableButtonForDokType setting allows you to disable the preview button for a given list
of doktypes. If none are configured, this defaults to: 199, 254, 255 (Spacer,
Folder and Recycler).
The
useDefaultLanguageRecord defaults to 1 and ensures that translated records will use the
uid of the default record for the preview link. You may disable this, if your extension can deal
with the uid of translated records.
The
fieldToParameterMap is a mapping which allows you to select fields of the record to be
included as GET-parameters in the preview link. The key specifies the field name and the value specifies
the GET-parameter name.
Finally
additionalGetParameters allow you to add arbitrary GET-parameters and even override others.
If the plugin on your target page shows a list of records by default you will also need something like
tx_myext_pi1.action = show to ensure the record details are displayed.
The core automatically sets the "no_cache" and the "L" parameter. The language matches the language of
the current record. You may override each parameter by using the
additionalGetParameters configuration
option.
Note
Make sure not to set
options.saveDocView.<table name> = 0, otherwise the save+view button
will not be displayed when editing records of your table.
Attention
The configuration has to be defined for the page containing the records and
previewPageId
(for example sysfolder holding the records is located outside of your root)
table
Processing options for tables. The table name is added, for instance TCEMAIN.table.pages.disablePrependAtCopy = 1
or TCEMAIN.table.tt_content.disablePrependAtCopy = 1.
It is also possible to set a default value for all tables, for example
TCEMAIN.default.disablePrependAtCopy = 1.
translateToMessage
translateToMessage
translateToMessage
Type
string
Default
Translate to %s:
Defines the string that will be prepended to some field values if you copy an element to another
language version. This applies to all fields where the TCA columns property
l10n_mode is set to
prefixLangTitle.
The special string "%s" will be replaced with the language title.
You can globally disable the prepending of the string by setting translateToMessage to
an empty string. You can disable the message to a certain field by setting the l10n_mode
to an empty string.
Example: Set a German prefix for newly translated records
PageTSconfig
TCEMAIN {
translateToMessage = Bitte in "%s" übersetzen:
}
Copied!
Example: Disable the "[Translate to ...]" prefix
PageTSconfig
TCEMAIN {
translateToMessage =
}
Copied!
Reference to the headline
Copy and freely share the link
This link target has no permanent anchor assigned. You can make a pull request on GitHub to suggest an anchor.
The link below can be used, but is prone to change if the page gets moved.