This plugin will create a consent dialog that every user will see. The user is given the option to accept all 'services' or necessary services.
composer require setono/sylius-consent-management-pluginAdd the bundle to bundles.php if not done automatically. Be sure to add this line before Sylius\Bundle\GridBundle\SyliusGridBundle::class
Setono\SyliusConsentManagementPlugin\SetonoSyliusConsentManagementPlugin::class => ['all' => true],
Sylius\Bundle\GridBundle\SyliusGridBundle::class => ['all' => true],php bin/console assets:installphp bin/console doctrine:migration:diff
php bin/console doctrine:migration:migrateCreate the file config/routes/setono_sylius_consent_management.yaml and add the following:
# config/routes/setono_sylius_consent_management.yaml
setono_sylius_consent_management:
resource: "@SetonoSyliusConsentManagementPlugin/Resources/config/routes.yaml"If your store doesn't use locales, there's also a route file for that:
# config/routes/setono_sylius_consent_management.yaml
setono_sylius_consent_management:
resource: "@SetonoSyliusConsentManagementPlugin/Resources/config/routes_no_locale.yaml"For everything to work there are two Twig functions you need to call: sscm_resources() and sscm_widget().
The sscm_resources() should be called in your <head> section while the sscm_widget() should be called just before
the </body>.
The sscm_resources() function will output the JS and CSS needed to render the widget. It will only output what's
necessary, so you don't have to worry about bloating your page with unused JS or CSS.
The sscm_widget() will output the actual HTML needed to render the widget. It's also true for this function that it
will only render what's necessary, so in this case if the user has already seen the widget, it will output an empty string.