t3g/usercentrics

此扩展将Usercentrics(合规性和同意管理)集成到TYPO3中。

安装: 13,485

依赖项: 0

建议者: 0

安全性: 0

星标: 4

关注者: 8

分支: 6

开放性问题: 10

类型:typo3-cms-extension

10.0.4 2021-02-19 09:57 UTC

This package is auto-updated.

Last update: 2024-09-10 09:59:16 UTC


README

此扩展将Usercentrics(合规性和同意管理)集成到TYPO3。

安装和配置

  1. 从TER或通过composer下载并安装扩展

  2. 在扩展管理器中激活扩展

  3. 在您想要使用此扩展的每个网站上,包含静态TypoScript设置

  4. 通过在您的TypoScript设置中设置plugin.tx_usercentrics.settingsId = <your-id>来配置您的Usercentrics ID

  5. 配置由Usercentrics处理的JS文件

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
      }
    }
}

请注意,配置的标识符需要与您的Usercentrics配置匹配。

您不需要为脚本标签设置typedata-usercentrics属性,扩展将为您处理。

在Fluid中的使用

扩展包含一个自定义视图助手,可用于通过Fluid添加脚本

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

使用PHP集成Usercentrics

由于TYPO3 v10,AssetCollector现在是TYPO3核心API的一部分。要使用PHP添加由Usercentrics管理的脚本,用AssetCollector调用替换之前的PageRenderer调用,并确保设置属性type=text/plaindata-usercentrics=identifier

示例

    $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);