TypoScript Configuration Reference¶
Table of Contents
The TypoScript options configure the behaviour of the frontend plugin.
They are registered in plugin.tx_fecookies
.
Tip
Most of the options are set up with constants, you’d rather want to change the values of the constants than those in setup.
Conditions¶
The extension provides some API methods, that can be used in TypoScript conditions. They let you define the TypoScript rendering based on the presence or the value of the cookie without getting in trouble with the TYPO3 page cache. Learn more about userFunc conditions in the TypoScript Reference.
The available methods are grouped in the class
AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies
.
Usage:
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::<method>(<arguments>)]
Condition methods¶
Method
cookieIsSet
Arguments
none
Description
Returns true, when the cookie is set.
Example:
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::cookieIsSet()]
// cookie is set
[else]
// cookie is not set
[global]
Method
cookieIsNotSet
Arguments
none
Description
Returns true, when the cookie is not set.
Example:
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::cookieIsNotSet()]
// cookie is not set
[else]
// cookie is set
[global]
Method
cookieValue
Arguments
string
Description
Returns true when the cookie value matches at least one of the arguments. Returns false when no cookie is set.
Multiple arguments are accepted, they must be comma separated.
The arguments are divided into an operator and a value part. One
argument must be composed by <operator>[SPACE]<value>
.
Several operators can be used:
Operator | Function |
---|---|
= | The cookie value must exactly match the given value. |
!= | Inverse of “=” |
> | The cookie value must be greater than the given value. |
>= | The cookie value must be greater or equal the given value. |
< | The cookie value must be less than the given value. |
<= | The cookie value must be less or equal the given value. |
Values can be a single value, or a set of values, separated by “|”. The latter will test all values and return true as soon as a match occured (“OR-chain”).
Examples:
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::cookieValue(= 1)]
// cookie is set and its value equals 1
[global]
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::cookieValue(= 0|1|2)]
// cookie is set and its value equals 0, 1 or 2
[global]
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::cookieValue(>= 2)]
// cookie is set and its value is greater or equal 2
[global]
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::cookieValue(= 0, > 2)]
// cookie is set and its value is either 0 or greater than 2
[global]
Important
Cookies have always the value “1” at the moment (when they are set by the API). In a future version of fe_cookies, it is planned to configure meaningful values.
Method
showFrontendPlugin
Arguments
int (0
, 1
or -1
)
Description
Returns true, when the frontend plugin should be shown. The argument should be the value of the predefined constant
{$plugin.tx_fecookies.settings.enableFrontendPlugin}
which happens to be either 0
, 1
or -1
.
Example:
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::showFrontendPlugin({$plugin.tx_fecookies.settings.enableFrontendPlugin})]
// frontend plugin should be shown
[else]
// frontend plugin should be hidden
[global]
Method
hideFrontendPlugin
Arguments
int (0
, 1
or -1
)
Description
Returns true, when the frontend plugin should be hidden. The argument should be the value of the predefined constant
{$plugin.tx_fecookies.settings.enableFrontendPlugin}
which happens to be either 0
, 1
or -1
.
This condition is used internally to give logged in backend users the possibility to show the cookie-banner always during setup.
Example:
[userFunc=AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::hideFrontendPlugin({$plugin.tx_fecookies.settings.enableFrontendPlugin})]
// frontend plugin should be hidden
[else]
// frontend plugin should be shown
[global]
Tip
In the defaultContentRendering TypoScript, it is used like this:
[userFunc = AawTeam\FeCookies\TypoScript\ConditionMatching\FeCookies::hideFrontendPlugin({$plugin.tx_fecookies.settings.enableFrontendPlugin})]
tt_content.list.20.fecookies_fecookies >
[global]
Constants¶
Edit the constants in the TYPO3 Constants Editor or directly in a
sys_template
record.
Templating¶
These options define the paths of the template files to be used for the
rendering. This is the well known setup for fluid-based rendering, the
options are defined in plugin.tx_fecookies.view
.
Option
templateRootPath
Data type
string
Description
The template root path.
Default value: empty
Option
partialRootPath
Data type
string
Description
The partial root path.
Default value: empty
Option
layoutRootPath
Data type
string
Description
The layout root path.
Default value: empty
Settings¶
These options s are defined in plugin.tx_fecookies.settings
.
Option
includeCssApi
Data type
bool
Description
If this option evaluates to true, the “CSS API” will be included in the page rendering.
Default value: 0
Option
enableCloseButton
Data type
bool
Description
If this option evaluates to true, the “close-button” will be shown by the plugin.
Default value: 0
Setup¶
As stated above, most of the options are defined using constants. The option names are the same in constants as in setup, refer to the constants documentation above. The following options have no constants configuration.
Option
settings.beforeBlocks
Data type
cObject
Description
In the dfefault template, this cObject will be rendered right before the message block records. It is invoked by:
<f:cObject typoscriptObjectPath="plugin.tx_fecookies.settings.beforeBlocks" />
Default value: TEXT (empty)
Option
settings.afterBlocks
Data type
cObject
Description
In the dfefault template, this cObject will be rendered right after the message block records. It is invoked by:
<f:cObject typoscriptObjectPath="plugin.tx_fecookies.settings.beforeBlocks" />
Default value: TEXT (empty)
Default style¶
The default style is included in the static template “Frontend Cookies:
Default style”, which only defines
plugin.tx_fecookies._CSS_DEFAULT_STYLE
.
Other configurations¶
In the static template “Frontend Cookies: Base”, there are some further
definitions. We assume, that the default PAGE
object is configured as
page = PAGE
. If you use some other naming (eg. mypage = PAGE
),
be sure to register the needed scripts for it as well to get the frontend
plugin to work correctly.
Example:
mypage = PAGE
// ...
mypage.includeJSFooterlibs.fe_cookies < page.includeJSFooterlibs.fe_cookies
mypage.includeCSSLibs.fe_cookies < page.includeCSSLibs.fe_cookies