t3g/usercentrics

This extension provides a usercentrics integration into TYPO3.

Maintainers

👁 typo3com

Package info

github.com/TYPO3GmbH/ext-usercentrics

Homepage

Documentation

Type:typo3-cms-extension

pkg:composer/t3g/usercentrics

Statistics

Installs: 17 806

Dependents: 0

Suggesters: 0

Stars: 4

Open Issues: 9

10.0.4 2021-02-19 09:57 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

GPL-2.0-or-later 8f5518b38ac0e449d1a9e0a9369b0fd5f99a2b17


README

This extension integrates Usercentrics (Compliance and Consent Management) into TYPO3.

Installation and Configuration

  1. Download and install the extension from the TER or via composer:

  2. Activate the extension in the extension manager

  3. On every site where you want to use the extension, include the static TypoScript setup

  4. Configure your Usercentrics ID by setting plugin.tx_usercentrics.settingsId = <your-id> in your TypoScript setup

  5. Configure the JS Files to be handled by Usercentrics:

plugin.tx_usercentrics {
 settingsId = {$plugin.tx_usercentrics.settingsId}
 jsFiles {

 # Path to JS File (required)
 10.file = EXT:site/Resources/Public/JavaScriyt/MyScriptFile.js

 # Identifier to use in Usercentrics (required)
 10.dataProcessingService = My Data Processing Service

 20.file = secondFile.js
 20.dataProcessingService = My other Data Processing Service

 # attributes for the script tag (optional)
 20.attributes {
 async = async
 }

 # options for the TYPO3 AssetCollector
 # setting priority will render the script in the head instead of the footer section
 20.options {
 priority = 1
 }
 }

 jsInline {
 10.value (
 alert(123);
 )
 10.dataProcessingService = My Data Processing Service
 10.attributes {
 custom = attribute
 }
 }
}

Note that the configured identifiers need to match your Usercentrics configuration.

You do not need to set the type or data-usercentrics attributes for the script tags, the extension will handle that for you.

Usage in Fluid

The extension comes with a custom view helper which can be used to add scripts via Fluid:

<usercentrics:script dataProcessingService="identifier123" src="EXT:my_ext/Resources/Public/JavaScript/foo.js" />
<usercentrics:script dataProcessingService="identifier123">
 alert('hello world');
</usercentrics:script>

Integrate Usercentrics with PHP

Since TYPO3 v10 the AssetCollector is part of the TYPO3 Core API. To add scripts managed by Usercentrics via PHP, replace your previous calls to the PageRenderer with AssetCollector calls and make sure to set the attributes type=text/plain and data-usercentrics=identifer.

Example:

 $dataProcessingService = 'My Data Processing Service';
 $identifier = \TYPO3\CMS\Core\Utility\StringUtility::getUniqueId($dataProcessingService . '-');
 $file = 'EXT:site/Resources/Public/JavaScript/Scripts.js';
 $attributes = [
 'type' => 'text/plain',
 'data-usercentrics' => $dataProcessingService
 ];
 $assetCollector = GeneralUtility::makeInstance(AssetCollector::class);
 $assetCollector->addJavaScript($identifier, $file, $attributes);