TypoScript Reference¶
TypoScript constants¶
Adjust the TypoScript constants (again, either in a sys_template record or in a file in your site package).
All constants are prepended with plugin.tx_cookieman.settings
.
resourcesBasePath¶
- Property
- resourcesBasePath
- Data type
- path
- Default
- EXT:cookieman/Resources
- Example
- EXT:mysitepackage/Resources
- Description
- Path to directory that holds the themes. Default enables the shipped demo themes. See Custom themes how to create a new theme.
theme¶
- Property
- theme
- Data type
- string
- Default
- bootstrap4-modal
- Example
- my-theme
- Description
Name of the theme. It is used to extend the resourcesBasePath to create the full path to templates and assets.
The shipped default themes are (each showcase the functionality a bit differently):
bootstrap3-banner
: needs Bootstrap 3; uses a text link “settings” instead of a button; shows “Accept all cookies” only after opening the settings; uses custom accordion CSS to show opened/closed state (+/x) and enhanced checkboxesbootstrap3-modal
: needs Bootstrap 3, uses custom CSS on the “settings” button and the accordion to show opened/closed state (⯈/⯆), shows the checkboxes inside left of the accordion headerbootstrap4-modal
: needs Bootstrap 4, uses custom CSS on the “settings” button and the accordion to show opened/closed state (+/x), shows the checkboxes inside right of the accordion header
You can check out the Demo or see the Screenshots to get an idea.
Of course you can use your own custom theme (see Custom themes).
links.dataProtectionDeclarationPid¶
- Property
- links.dataProtectionDeclarationPid
- Data type
- page_id
- Example
- 123
- Description
- page UID of data privacy statement page - the Cookieman modal will not be automatically opened on this page (see When is the popup shown to users?).
links.dataProtectionDeclarationAnchor¶
- Property
- links.dataProtectionDeclarationAnchor
- Data type
- string
- Example
- c456
- Description
- You can set an (optional) anchor (TYPO3-lingua “section”) on the data privacy statement page.
links.imprintPid¶
- Property
- links.imprintPid
- Data type
- page_id
- Example
- 123
- Description
- page UID of imprint page - the cookieman modal will not be automatically opened on this page (see When is the popup shown to users?).
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
- boolean
- 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
- boolean
- 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
- boolean
- 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
- boolean
- 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:
- Cookie Consent (Cookieman’s settings cookie)
- fe_typo_user
- Google Analytics
- Google Tag Manager
- Matomo
- Bing
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
- HTML code
- 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
- positive integer
- 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
- string
- 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
- string
- Example
- cookie_http+html
- Description
The type of tracking.
Possible keywords:
cookie_http+html
: a HTML (=HTTP+HTML) cookie, which is also readable from JavaScriptcookie_http
: an HTTP cookie
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
- string
- Example
- 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
- string
- 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›).