TypoScript setup¶
See a full TypoScript Configuration example.
All configuration is prepended with plugin.tx_cookieman.settings
.
groups¶
- Property
groups
- Data type
array
- Default
mandatory
- Description
Holds the group configurations. A group contains several tracking objects.
By default, it only contains the 'mandatory' group, which includes the
CookieConsent
settings cookie. See a full TypoScript Configuration example.
groups.<group-key>¶
- Property
groups.<group-key>
- Data type
array
- Example
mandatory
- Description
A single group. The group's key (name) should not contain spaces and non-ASCII characters.
It will be saved in the settings cookie and can be checked with JavaScript:
hasConsented('‹group-key›')
groups.‹group-key›.preselected¶
- Property
groups.‹group-key›.preselected
- Data type
- Default
0 (not set)
- Description
If enabled (
1
), the group's consent checkbox will be already checked when the popup opens.The default group 'mandatory' has this set to
1
.
groups.‹group-key›.disabled¶
- Property
groups.‹group-key›.disabled
- Data type
- Default
0 (not set)
- Description
If enabled (
1
), the group's consent checkbox will be disabled (cannot be changed).The default group 'mandatory' has this set to
1
.
groups.‹group-key›.trackingObjects¶
- Property
groups.‹group-key›.trackingObjects
- Data type
array with numeric indices
- Description
Holds a list of tracking object keys (numbered).
Example:
trackingObjects { 0 = CookieConsent 1 = fe_typo_user }
groups.‹group-key›.respectDnt¶
- Property
groups.‹group-key›.respectDnt
- Data type
- Default
0 (not set)
- Description
If set to
1
, this group respects to the "Do-not-track" setting of your browser.
groups.‹group-key›.showDntMessage¶
- Property
groups.‹group-key›.showDntMessage
- Data type
- Default
0 (not set)
- Description
If set to
1
and the "Do-not-track" setting of your browser is enabled, an additional message about that is shown inside the group.
trackingObjects¶
- Property
trackingObjects
- Data type
array
- Description
This array holds the tracking object configurations.
The Cookieman extension already provides several preconfigured tracking objects in the folder ./Configuration/TypoScript/TrackingObjects/ (link to the Github repository).
Important
If you add a preconfigured tracking object, you must at least adapt the
inject
code to your needs!The default group 'mandatory' only contains the tracking object
CookieConsent
settings cookie.
trackingObjects.‹tracking-object-key›¶
- Property
trackingObjects.‹tracking-object-key›
- Data type
array
- Example
fe_typo_user
- Description
A single tracking object configuration.
Example:
plugin.tx_cookieman.settings.trackingObjects { // 'Matomo' is the ‹tracking-object-key›: Matomo { // injected code, if consent is given: inject ( <script data-what="Matomo" src="/typo3conf/ext/cookieman/Resources/Public/Js/Injects/example-inject.js"></script> ) show { // set cookies, if consent is given: _pk_id { duration = 13 durationUnit = months type = cookie_http+html provider = Matomo } // etc. } } }
trackingObjects.‹tracking-object-key›.inject¶
- Property
trackingObjects.‹tracking-object-key›.inject
- Data type
- Example
<script src="/path/to/tracking-code.js"></script>
- Description
Each HTML tag in here will be appended to the page when the respective group is consented. This can be
<script>
,<img>
or anything else.You can either use inline script or link to an external file (useful if a HTTP header
Content-Security-Policy
is set).
trackingObjects.‹tracking-object-key›.show¶
- Property
trackingObjects.‹tracking-object-key›.show
- Data type
array
- Description
The actual rows of the table, each representing one "tracking item" (usually a cookie).
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›¶
- Property
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›
- Data type
array
- Example
_pk_id
- Description
A single "tracking item" (e.g. the name of a cookie). A cookie that matches this name will be removed when consent for the group in which this tracking object is included is revoked. (see also trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.htmlCookieRemovalPattern)
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.duration¶
- Property
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.duration
- Data type
- Example
12
- Description
The lifetime of the tracking object (only the "number" part).
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.durationUnit¶
- Property
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.durationUnit
- Data type
- Example
months
- Description
The lifetime of the tracking object (only the "unit" part).
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.type¶
- Property
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.type
- Data type
- Example
cookie_http+html
- Description
The type of tracking.
Possible (default) keywords:
cookie_http+html
: an HTML (=HTTP+HTML) cookie, which is also readable from JavaScript. This is the only type that can be removed after consent has been revoked.cookie_http
: an HTTP cookiepixel
: a tracking pixel
Note
You can add your own types by adding a localization string
type.‹your-type-key›
.
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.provider¶
- Property
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.provider
- Data type
- Example
Google
- Description
The provider of the cookie or tracking object.
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.htmlCookieRemovalPattern¶
- Property
trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.htmlCookieRemovalPattern
- Data type
- Example
^_gat(?:_UA-d+-d+)?$
- Description
You can (optionally) set a regex pattern for cookie names here. It will be used during cookie removal. If would remove all matched cookies when consent for the group in which this tracking object is included is revoked. If this is empty, the tracking object key is used for deletion (see trackingObjects.‹tracking-object-key›).
Note
Cookie removal will only work for tracking object type
cookie_http+html
. See trackingObjects.‹tracking-object-key›.show.‹tracking-item-key›.type.