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 a set of TypoScript conditions in symfony expression language. 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 conditions in the official TypoScript Reference.
Condition functions¶
cookieIsSet¶
- Function
- cookieIsSet
- Parameter
- none
- Type
- bool
- Description
- Returns true, when the cookie is set.
- Example
True if cookie is set:
[cookieIsSet()]
True if cookie is not set:
[not cookieIsSet()]
cookieValue¶
- Function
- cookieValue
- Parameter
- none
- Type
- int / string
- Description
- Returns the cookie value.
- Example
True if the cookie value is 1:
[cookieValue() == 1]
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.
showFrontendPlugin¶
- Function
- showFrontendPlugin
- Parameter
- int (
0
,1
or-1
) - Type
- bool
- Description
- Returns true, when the frontend plugin should be shown. The parameter should
be the value of the predefined constant
typoscript:
{$plugin.tx_fecookies.settings.enableFrontendPlugin}
which happens to be either0
,1
or-1
. - Example
True if the frontend plugin should be shown:
[showFrontendPlugin({$plugin.tx_fecookies.settings.enableFrontendPlugin})]
True if the frontend plugin should not be shown:
[not showFrontendPlugin({$plugin.tx_fecookies.settings.enableFrontendPlugin})]
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
Option
bannerPosition
Data type
string
Description
This option defines the position of the cookie-banner message in the default frontend plugin template by setting a CSS class. Valid values are “bottom” or “top”. If the option is set to any other value, no (positioning) CSS class is set.
Default value: bottom
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