snk / magento2-module-usercentrics
Magento 2 module for Usercentrics integration
Installs: 3 317
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 5
Forks: 3
Open Issues: 1
Type:magento2-module
Requires
- php: ^7.1
- magento/magento2-base: ^2.3
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":
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