snk/magento2-module-usercentrics

This package is abandoned and no longer maintained. No replacement package was suggested.

Magento 2 module for Usercentrics integration

v0.1.1-beta 2020-08-02 14:28 UTC

This package is auto-updated.

Last update: 2023-09-17 17:55:11 UTC


README

Extension for Magento 2

Overview

TODO

Requirements

Magento 2.3.*, PHP >7.1

Installation

Install with composer:

composer require snk/magento2-module-usercentrics

Configuration details

Go to Stores->Configuration->Snk->Usercentrics

  • Enable - enable of disable module for scope.
  • Settings ID - the configuration ID from your Usercentrics account.
  • Enable Smart Data Protector - enable Usercentrics Smart Data Protector .
  • Enable Page Reload After Consent Revoked - reload page if user revokes a consent.
  • Script URL - usercentrics script URL. It should not but may change.
  • Selectors - configuration which decides which parts of Magento application must be processed.

Selectors

Cookie group of each selector corresponds to separate service names under Data Processing Services.

For example, here it's "Matomo":

Cookie Group

There are three types of selectors:

  • block
  • template
  • regex

The module iterates through the output of Magento blocks and tries to match them against the selectors.

Block selectors look for magento block name in layout.

Template selectors look for HTML from specific templates.

Regex selectors are the most flexible and the most dangerous type, they try to match every block against the configured regexp.

Integration

The module adjusts <script> tags in selected blocks of HTML output by changing type to text/plain and adding data-usercentrics attribute with the cookie group.

Some magento scripts are initialized in a declarative way, for example:

<!--- Won't work with Usercentrics -->
<script type="text/x-magento-init">
    {
        "*": {
            "Vendor_Module/js/some-cool-script": {
                "config": "value"
            }
        }
    }
</script>

Unfortunately Usercentrics cannot set script type back to x-magento/init so such calls must be done imperatively in order for Usercentrics to function properly.

So the above can should be rewritten like this:

<!--- Will work with Usercentrics -->
<script type="text/javascript">
    require([
        'jquery',
        'mage/apply/main'
    ], function ($, mage) {
        $(function () {
            mage.applyFor(
                '*',
                {
                    "config": "value"
                },
                'Vendor_Module/js/some-cool-script',
            );
        });
    });
</script>

Authors

Oleh Kravets oleh.kravets@snk.de

Lisence

MIT